Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2007, 05:39
adventum
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 17 años, 6 meses
Puntos: 0
cambiar puntos por comas en txt e importarlo a mdb

hola amigos, espero que podais ayudarme, conozco otros lenguajes pero soy nuevo con visual y tengo que hacer lo siguiente:

tengo un archivo de texto con campos separados con punto y coma (;) del tipo:

campo1;campo2;campo3
4.5203;4.35422442;400
4.5898;4.35606193;500
4.3309;4.35572090;500


necesito cambiar los puntos de los decimales por comas y posteriormente importar el archivo a una tabla en una base de datos access.

de preferencia tendria que hacerlo en VBA aunque tambien puedo llamar a un ejecutable de visual basic .net asi que si alguno me puede ayudar se lo agradecere

infinitamente.

habia hecho este codigo en .net pero me cambia los puntos por comas durante la ejecucion dle programa pero no las escribe en el archivo y por lo tanto no me

lo importa bien a la tabla. Os agradezco vuestra ayuda.



Imports ADOX
Imports System
Imports System.Data
Imports System.Data.OleDb

Module puntos_por_comas


Sub Main()
Using MyReader As New _
Microsoft.VisualBasic.FileIO.TextFieldParser _
("..\texto.txt")

MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(";")

Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
Dim cadena As String = Replace(currentField, ".", ",")
Next
Catch ex As _
Microsoft.VisualBasic.FileIO.MalformedLineExceptio n
MsgBox("Line " & ex.Message & _
"is not valid and will be skipped.")
End Try
End While
End Using


Dim cnn As New ADODB.Connection

cnn.Open( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=..\base.mdb;" & _
"Jet OLEDB:Engine Type=4;")


cnn.Execute("SELECT * INTO [Tabla] FROM [Text;DATABASE=..\;HDR=YES;FMT=Delimited(;)].[texto.txt]")


cnn.Close()

End Sub



End Module