Subir automáticamente desde otra base de datos

Hola query
Cómo hago para actualizar una base de datos alimentándola desde otra remota (archivo plano) automáticamente al abrir la aplicación. ¿Preguntando si se quiere actualizar o no mosrando en pantalla cuando fueron tomados los datos (fecha de guardado del archivo plano)?
Gracias...

1 Respuesta

Respuesta
1
Para realizar operaciones al inicio de la aplicación, tendrás que crear un formulario para tal fin que haga las preguntas y añadirlo como formulario de inicio en las propiedades de inicio en el menú Herramientas->Inicio->Mostrar formulario/Página.
Otra cosa es plantearse como ha de leer la información del texto plano teniendo en cuenta los separadores de campo y de registro y si la lectura de esos datos tiene que estar condicionada por fechas.
Pruébalo y me cuentas.
Si necesitas más ayuda indicame las características de ese fichero plano y el tipo de pregunta que quieres que haga.
Hola Query:
Ok. Te agradezco la aclaracion;ya tengo el formulario con un botón que dice "subir archivo plano", necesito saber que código le pongo para programarlo. Para que este suba automáticamente la información del archivo plano a una base de datos con los mismos campos.
En archivo plano es algo así:
"2002/5/11","LM","012012","3","BOTT","1","","","","","",""
Gracias por tu colaboración.
A continuación te muestro el código que te puede ayudar a leer los registros de 12 campos de ese fichero plano.
Añade el código del formulario de inicio, ponle al botón de comando el nombre BtnImportar y activa su evento click para probarlo.
Cambia el nombre del fichero y el de la tabla a los que tú estés utilizando y lo pruebas.
'-------------------------------------
Option Compare Database
Option Explicit
' PROCEDIMIENTO QUE SE EJECUTA AL PULSAR SOBRE EL BOTON DE IMPORTAR DATOS
Private Sub BtnImportar_Click()
On Error GoTo Err_Importar
Dim hd_file As Integer
Dim Nom_file As String
Dim rs_tabla As Recordset
Dim Nom_tabla As String
hd_file = FreeFile()
Nom_file = "Datos.txt"
' Abrimos fichero de texto
Open Nom_file For Input As #hd_file
Nom_tabla = "Datos"
' Abrimos recordset de la tabla
Set rs_tabla = CurrentDb.OpenRecordset(Nom_tabla, dbOpenTable)
' Lee registros del fichero hasta el final de fichero EOF
While Not EOF(hd_file)
' Añade registro nuevo en la tabla
rs_tabla.AddNew
' Traspasa los datos del fichero a la tabla
AgregaRegistro hd_file, rs_tabla
' Actualiza el registro de la tabla
rs_tabla.Update
Wend
'Cerramos fichero y recordset
Close #hd_file
rs_tabla.Close
Set rs_tabla = Nothing
Salir_Importar:
Exit Sub
Err_Importar:
MsgBox "Error al importar" & vbCrLf & "Nº:" & Err.Number & vbCrLf & Err.Description
Resume Salir_Importar
End Sub
Private Sub AgregaRegistro(hdfile As Integer, rstabla As Recordset)
Dim rs(12) As Variant
Dim x As Integer
' Lee un registro de 12 campos y los almacena en la matriz
Input #hdfile, rs(0), rs(1), rs(2), rs(3), rs(4), rs(5), rs(6), rs(7), rs(8), rs(9), rs(10), rs(11)
' Pasa los valores de la matriz a los campos de la tabla
For x = 0 To 11
rstabla(x) = rs(x)
Next
'NOTA: los campos de tipo texto de la tabla tiene que tener
'su propiedad 'permitir longitud cero' a Sí
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas