
07/06/2007, 10:27
|
| | Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 17 años, 10 meses Puntos: 0 | |
ayuda traduciendo una fucion VB.NET a VBA 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.OleDbSc hemaGuid.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 |