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...
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