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