Access - cargar de excel

 
Vista:

cargar de excel

Publicado por moy (7 intervenciones) el 15/12/2005 16:10:53
Hola !

Tengo un archivo en excel con una matriz la primera columna contiene unformacion sobre productos y el primer renglon posee las sucursales, tanto sucursales como productos son una tabla en access y tengo una tabla detalle que debe almacenar toda la informacion relacionada en la matriz. pero no se como cargar la imformacion de la matriz en la tabla, podrian decirme como lo hago?

gracias
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

Cargar información de una matriz de Excel en una tabla de Access mediante VBA

Publicado por Alejandro (4142 intervenciones) el 15/06/2023 16:46:07
¡Hola, Moy!

Para cargar la información de una matriz en una tabla en Access, puedes utilizar VBA para recorrer la matriz y agregar los datos a la tabla. Aquí tienes un ejemplo de cómo puedes hacerlo:

1. Abre tu base de datos de Access y abre el módulo de VBA presionando Alt + F11.

2. Crea una nueva función en el módulo o utiliza uno existente. Por ejemplo:

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
Function CargarMatrizEnTabla()
    Dim matriz As Variant
    Dim fila As Long
    Dim columna As Long
 
    ' Asigna tu matriz a la variable "matriz"
    matriz = Sheet1.Range("A1:F10").Value ' Reemplaza "Sheet1" y el rango por el correspondiente a tu matriz en Excel
 
    ' Abre la conexión a la base de datos
    Dim db As DAO.Database
    Set db = CurrentDb
 
    ' Recorre la matriz y agrega los datos a la tabla
    For fila = LBound(matriz, 1) To UBound(matriz, 1)
        For columna = LBound(matriz, 2) To UBound(matriz, 2)
            ' Agrega aquí el código para insertar los datos en la tabla
            ' Utiliza el objeto "db" para ejecutar las consultas necesarias
 
            ' Ejemplo: Insertar en una tabla llamada "Detalle"
            Dim strSQL As String
            strSQL = "INSERT INTO Detalle (Sucursal, Producto, Valor) VALUES ('" & matriz(fila, 1) & "', '" & matriz(1, columna) & "', " & matriz(fila, columna) & ")"
            db.Execute strSQL
        Next columna
    Next fila
 
    ' Cierra la conexión a la base de datos
    db.Close
    Set db = Nothing
End Function

3. Ajusta el rango de la matriz en la línea `matriz = Sheet1.Range("A1:F10").Value` para que coincida con el rango de tu matriz en Excel. Asegúrate de reemplazar "Sheet1" por el nombre de la hoja donde se encuentra la matriz.

4. Personaliza el código según tus necesidades, como el nombre de la tabla (`Detalle` en el ejemplo) y los campos correspondientes.

5. Ejecuta la función `CargarMatrizEnTabla()` desde el entorno de VBA para cargar los datos de la matriz en la tabla.

Recuerda tener en cuenta la estructura de tu tabla en Access y ajustar el código según los nombres de los campos y las tablas que estés utilizando.

Espero que esta solución te ayude a cargar la información de tu matriz en una tabla en Access.
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