ubiquitour.com

Cómo pasar los parámetros desde Excel a Microsoft Query

Cómo pasar los parámetros desde Excel a Microsoft Query

Tener el conocimiento para pasar parámetros desde Microsoft Excel a una consulta en Microsoft Office Access puede dinamizar la aplicación de base de datos. Excel es una hoja de cálculo de uso frecuente para almacenar y analizar grandes cantidades de datos. El acceso es un sistema de gestión de base de datos relacional utilizado para diseñar bases de datos locales. Visual Basic para aplicaciones (VBA) es un equipo que se utiliza para automatizar tareas rutinarias como pasar parámetros desde Excel a Access de lenguaje de programación. Una consulta se utiliza para recuperar información de tablas de base de datos.

Instrucciones

1 Abra Microsoft Office Excel, tipo "1" en "A1", "2" en "B1" y "3" en "C1". Guarde el libro como "myExceldata" en "C:\".

2 Iniciar Microsoft Office Access, seleccione "suave base de datos" y luego haga clic en "Crear." Seleccione el menú "Herramientas" y haga clic en "Visual Basic". Haga clic en el menú "Insertar" y seleccione "Módulo".

3 Haga clic en el menú "Herramientas", seleccionar "Referencias" y marque la casilla junto a "Biblioteca de objetos Microsoft Excel < número de versión >." Haga clic en "Aceptar".

4 Copie y pegue el siguiente código VBA para abrir el libro de "myExceldata". Utilizará el valor en "B1" como parámetro para consultar datos de la tabla de "dbAccessTable" creado y descripción a través de un cuadro de mensaje.

Private Sub passExcelParamenters()

Dim strSQL As String

Dim dbs como base de datos

Dim rst como conjunto de registros de

Dim XLSPar como entero

Dim XLSApp como Excel.Application

Dim XLXBook como Excel.Workbook

Dim XLSSheet como Excel.Worksheet

Set dbs = CurrentDb

Set XLXBook = Workbooks.Add(Template:="G:\myExcelData.xlsx")

Set XLSApp = XLXBook.Parent

Set XLSSheet = XLXBook.Worksheets("Sheet1")

Con XLSSheet

. Range("B1"). Seleccione

XLSPar = Selection.Value

Terminar con

XLXBook.Close

strSQL = "Crear tabla dbAccessTable (Prod_ID número, Prodct texto);"

DoCmd.SetWarnings False

DoCmd.RunSQL (strSQL)

strSQL = "INSERT INTO dbAccessTable (Prod_ID, Prodct)"

strSQL = strSQL & "VALUES (1, 'Cars');"

DoCmd.RunSQL (strSQL)

strSQL = "INSERT INTO dbAccessTable (Prod_ID, Prodct)"

strSQL = strSQL & "VALUES (2, 'Trucks');"

DoCmd.RunSQL (strSQL)

sqlStr = "SELECT dbAccessTable.Prod_ID, dbAccessTable.Prodct"

sqlStr = sqlStr "desde dbAccessTable"

sqlStr = sqlStr & "donde (((dbAccessTable.Prod_ID) =" & (XLSPar) & "));"

Set rst = dbs. OpenRecordset(sqlStr)

RST. MoveLast

RST. MoveFirst

MsgBox "es la descripción para el identificador de producto en B1" & rst. Fields(1). Valor

RST. Cerrar

DBS. Cerrar

End Sub

5 Presione "F5" para ejecutar la subrutina.