Access - importar registros de Bd externa bajo código

 
Vista:

importar registros de Bd externa bajo código

Publicado por Carlos Javier (3 intervenciones) el 06/08/2003 12:21:03
En mi Pc portátil, llevo una copia del programa de gestión que utilizo. Por la mañana, copio los datos del Pc de mesa al portátil. Realizo pedidos y cuando llego a la oficina, me gustaría poder pasar los nuevos registros al Pc de mesa.
No me vale la opcion de réplica por varios motivos.
Mi principal problema es que no sé cómo se accede a una base de datos externa y a sus correspondientes registros.
Creo que con ADO se puede hacer, pero necesito imformación detallada de cómo se realiza el código correspondiente.
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
Imágen de perfil de Alejandro

importar registros de Bd externa bajo código

Publicado por Alejandro (4142 intervenciones) el 02/05/2023 22:39:34
Para importar registros de una base de datos externa utilizando código en Access, se puede utilizar la librería ADO (ActiveX Data Objects) de Microsoft. Los pasos a seguir son los siguientes:

1. Crear una conexión ADO con la base de datos externa utilizando la cadena de conexión adecuada. Por ejemplo:

1
2
3
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MiBaseDeDatos.mdb;"
cn.Open

En este ejemplo, se crea una conexión con una base de datos de Access utilizando la cadena de conexión "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MiBaseDeDatos.mdb;".

2. Crear una consulta SQL para obtener los registros que se quieren importar. Por ejemplo:

1
2
Dim sql As String
sql = "SELECT * FROM MiTabla WHERE Fecha >= #" & Format(DateSerial(Year(Date), Month(Date), Day(Date) - 1), "yyyy/mm/dd") & "#"

En este ejemplo, se crea una consulta SQL que selecciona todos los registros de la tabla "MiTabla" cuya fecha sea igual o superior al día anterior.

3. Crear un objeto Recordset y ejecutar la consulta SQL utilizando la conexión ADO. Por ejemplo:

1
2
Dim rs As New ADODB.Recordset
rs.Open sql, cn, adOpenKeyset, adLockOptimistic

En este ejemplo, se crea un objeto Recordset y se abre con la consulta SQL y la conexión ADO. Los parámetros adOpenKeyset y adLockOptimistic indican que se utilizará un cursor con clave y que se bloquearán los registros cuando se modifiquen.

4. Recorrer el Recordset y añadir los registros a la tabla correspondiente en la base de datos local. Por ejemplo:

1
2
3
4
Do While Not rs.EOF
    CurrentDb.Execute "INSERT INTO MiTabla (Campo1, Campo2, Campo3) VALUES ('" & rs("Campo1") & "', " & rs("Campo2") & ", #" & Format(rs("Campo3"), "yyyy/mm/dd") & "#)"
    rs.MoveNext
Loop

En este ejemplo, se recorre el Recordset utilizando un bucle While y se añade cada registro a la tabla "MiTabla" de la base de datos local utilizando una consulta INSERT. Los valores de cada campo se obtienen utilizando la propiedad rs("NombreDelCampo").

5. Cerrar el Recordset y la conexión ADO. Por ejemplo:

1
2
rs.Close
cn.Close

En este ejemplo, se cierra el Recordset y la conexión ADO creados anteriormente.

Es importante tener en cuenta que la cadena de conexión, la consulta SQL y la sintaxis de las consultas INSERT pueden variar en función del tipo de base de datos externa que se esté utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar