Access - Importar datos

 
Vista:

Importar datos

Publicado por Oscar Gómez (46 intervenciones) el 23/10/2001 23:09:26
Cordial saludo

De antemano gracias por leer esta pregunta

Cuando yo deseo importar datos desde otra aplicación (Excel u otra) a una tabla en Acces, lo que hago es ir al menú archivo, conseguir datos externos, importar y luego sigo el proceso.

Me pregunto si esta instrucción se puede hacer por medio del evento click de un botón de comando desde un formulario. Lo necesito porque en mi aplicación definitiva voy a quitar todo ese menú.

Si es así como sería el codigo?, ya que no tengo ni la menor idea.

Mil gracias y en verdad es urgente.

Atentamente,

Oscar Gómez
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 datos

Publicado por Alejandro (4142 intervenciones) el 19/04/2023 01:02:50
Sí, es posible importar datos desde una aplicación externa a una tabla de Access mediante el uso de código VBA en un botón de comando en un formulario. El código para hacer esto es relativamente sencillo y se puede adaptar según las necesidades específicas de tu aplicación.

Aquí te dejo un ejemplo básico de cómo podría ser el código para importar datos desde un archivo Excel a una tabla de Access:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Private Sub cmdImportar_Click()
 
    'Definir la ruta del archivo de Excel que contiene los datos a importar
    Dim strRutaArchivo As String
    strRutaArchivo = "C:\Ruta\ArchivoExcel.xlsx"
 
    'Definir la conexión con el archivo de Excel
    Dim strConexionExcel As String
    strConexionExcel = "Excel 12.0 Xml;HDR=YES;IMEX=1;Database=" & strRutaArchivo
 
    'Definir la consulta SQL para obtener los datos de Excel
    Dim strSQL As String
    strSQL = "SELECT * FROM [Hoja1$]"
 
    'Definir la conexión con la base de datos de Access
    Dim cn As ADODB.Connection
    Set cn = CurrentProject.Connection
 
    'Definir la consulta SQL para insertar los datos en la tabla de Access
    Dim strSQLInsert As String
    strSQLInsert = "INSERT INTO tabla (campo1, campo2, campo3) VALUES (?, ?, ?)"
 
    'Definir el objeto Recordset para obtener los datos de Excel
    Dim rsExcel As ADODB.Recordset
    Set rsExcel = New ADODB.Recordset
    rsExcel.Open strSQL, strConexionExcel
 
    'Definir el objeto Recordset para insertar los datos en la tabla de Access
    Dim rsAccess As ADODB.Recordset
    Set rsAccess = New ADODB.Recordset
    rsAccess.Open strSQLInsert, cn, adOpenDynamic, adLockOptimistic
 
    'Recorrer los registros de Excel e insertarlos en la tabla de Access
    Do Until rsExcel.EOF
        rsAccess.AddNew
        rsAccess("campo1").Value = rsExcel("campo1").Value
        rsAccess("campo2").Value = rsExcel("campo2").Value
        rsAccess("campo3").Value = rsExcel("campo3").Value
        rsAccess.Update
        rsExcel.MoveNext
    Loop
 
    'Cerrar los Recordsets y la conexión con la base de datos de Access
    rsExcel.Close
    Set rsExcel = Nothing
    rsAccess.Close
    Set rsAccess = Nothing
    cn.Close
    Set cn = Nothing
 
End Sub

En este ejemplo, se asume que la tabla de Access ya existe y tiene los campos "campo1", "campo2" y "campo3". La importación se realiza desde la hoja "Hoja1" de un archivo de Excel ubicado en la ruta "C:\Ruta\ArchivoExcel.xlsx". Los datos de Excel se insertan en la tabla de Access mediante una consulta SQL de inserción. Este código es solo un ejemplo básico y se puede adaptar según las necesidades específicas de tu aplicación.
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