Importación Tabla desde AS/400 a Access

Deseo importar tablas (PF-DTA) desde un AS/400 a mi base de datos Access de forma automática. He creado el controlador ODBC y si importo de forma manual (Archivo -> ObtenerDatosExternos -> Importar) funciona correctamente, pero no se como debo hacerlo para que se ejecute cuando se produce el evento click desde un formulario.

1 Respuesta

Respuesta
1
Entonces... te envío un ejemplo de actualización para que lo asocies a cualquier evento click...
'***************************************************************************************
'* Autor:Pedro Enrique Diaz Rios
'* Fecha:2002/05/21
'* email:[email protected]
'* Objeto:Copiar un archivo desde otro archivo
'***************************************************************************************
Option Compare Database
Dim wks As Workspace
Dim db, db1 As Database
Dim rst, rst1 As Recordset
Dim ytreg, yano, ymes, i, xcre, xcon, xreg As Double
Public Sub Trae()
Set db = CurrentDb()
Set wks = DBEngine.Workspaces(0)
Set wspAS400 = DBEngine.CreateWorkspace("ODBCWorkspace", "", "", dbUseODBC)
Set dbAS400 = wspAS400.OpenDatabase("TemporaryName", , , "ODBC;DATABASE=xx;UID=" & usu & ";PWD=" & pass & ";DSN=xx")
Set cntAS400 = wspAS400.Connections(0)
'Donde se copiara
fil1 = Trim(InputBox("De donde Copiar desde as/400"))
condi = Trim(InputBox("Bajo que condicion:"))
'A donde se copiara
fil2 = Trim(InputBox("A Donde copiar en TRANS1"))
If Len(condi) > 0 Then
condi = " WHERE " + condi
End If
Set rst1 = dbAS400.OpenRecordset("SELECT * FROM " + fil1 + condi)
Set rst = db.OpenRecordset(fil2, dbOpenTable)
With rst
If Not .BOF Then
.MoveFirst
Do While Not .EOF
.Delete
.MoveNext
Loop
End If
End With
num_campos = rst.Fields.Count - 1
With rst1
Do While Not .EOF
rst.AddNew
For i = o To num_campos
rst.Fields(i).Value = rst1.Fields(i).Value
Next
rst.Update
rst1.MoveNext
If rst1.EOF Then
Exit Do
End If
Loop
.Close
End With
MsgBox "Proceso finalizado exitosamente", 48, "Operación Finalizada"
End Sub
En realidad tienes haber hecho al menos una importación de ese archivo el as/400 para que en la pc tengas la misma estructura del archivo que tienes en el as/400
Buenos días;
Espero disculpes mi ignorancia, pero no entiendo los errores que me figuran.
"No se ha definido el tipo definido por el usuario" en todas y cada una de las variables definidas, por lo demás todo correcto. ¿Puedes ayudarme una vez más? MIL GRACIAS de antemano.
Att;
David
Lo que pasa es que al momento de ejecutar el código de VB.. se debe tener cargadas todas las librerías necesarias... eso es lo que te falta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas