Visual Basic - ayuda traduciendo una fucion V

Life is soft - evento anual de software empresarial
 
Vista:

ayuda traduciendo una fucion V

Publicado por jp (2 intervenciones) el 07/06/2007 17:49:11
Hola amigos, estoy haciendo una aplicacion en VBA desde la cual llamo a un ejecutable VB.NET que lee un archivo de texto, cambia los puntos decimales por

comas y posteriormente importa los campos separados por punto y coma a una tabla de una base de datos access ya existente.
mi problema es que es u npoco problematico llamar al ejecutable ademas que no quiero combinar tantos lenguajes asi que me gustaria saber si es posible y si

podriais ayudarme a traducir el codigo de vb.net a una funcion VBA.
muchas gracias por adelantado.

Imports System.Data.OleDb

Module puntos_por_comas

Sub Main()

Dim sr As New System.IO.StreamReader("..\texto.txt")
Dim origen As String = sr.ReadToEnd
sr.Close()

Dim destino As String = origen.Replace(".", ",")

Dim sw As New System.IO.StreamWriter("..\Destino.txt")
sw.Write(destino)
sw.Close()

Dim cnn As New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=..\;" & _
"Extended Properties='TEXT;HDR=Yes;FMT=Delimited(;)'")

Using cnn
Try
Dim sql As String = _
"SELECT * INTO [Importados] " & _
"IN '..\base.mdb'" & _
"FROM ..\destino#txt"

Dim cnn2 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\base.mdb")
Dim SchemaTable As DataTable
cnn2.Open()

SchemaTable = cnn2.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns, _
New Object() {Nothing, Nothing, "Importados"})

If SchemaTable.Rows.Count <> 0 Then
'table exists
Dim sql2 As String = "DROP TABLE Importados"
Dim cmd2 As New OleDbCommand(sql2, cnn2)
cmd2.ExecuteNonQuery()
cnn2.Close()
End If

cnn.Open()

Dim cmd As New OleDbCommand(sql, cnn)
Dim regAfect As Int32 = cmd.ExecuteNonQuery

Finally
cnn = Nothing

End Try

End Using

End Sub

End Module
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder