Wie die Parameter aus Excel an Microsoft Query übergeben
Das wissen, das Übergeben von Parametern aus Microsoft Excel zu einer Abfrage in Microsoft Office Access kann Ihre Datenbankanwendung dynamischere darstellen. Excel ist ein Tabellenkalkulations-Programm, das häufig zur Speicherung und Analyse große Datenmengen. Der Zugang ist ein relationales Datenbank-Managementsystem zum Entwerfen von lokaler Datenbanken verwendet. Visual Basic für Applikationen (VBA) ist eine Programmiersprache, die zum Automatisieren von Routineaufgaben wie die Übergabe von Parametern aus Excel in Access verwendet. Eine Abfrage wird zum Abrufen von Informationen aus Datenbanktabellen.
Anweisungen
1 Öffnen Sie Microsoft Office Excel zu, geben Sie "1" in "A1", "2" in "B1" und "3" in "C1." Speichern Sie die Arbeitsmappe als "MyExceldata", "C:\".
2 Starten Sie Microsoft Office Access, "Bland Datenbank" auswählen, und klicken Sie auf "Erstellen". Wählen Sie das Menü "Datenbanktools" und klicken Sie auf "Visual Basic." Klicken Sie im Menü "Einfügen" und wählen Sie "-Modul."
3 Klicken Sie im Menü "Extras", wählen Sie "Verweise" und aktivieren Sie das Kontrollkästchen neben "Microsoft Excel < Versionsnummer > Object Library". Klicken Sie auf "OK".
4 Kopieren Sie und fügen Sie den folgenden VBA-Code zum Öffnen der Arbeitsmappe "MyExceldata". Sie verwenden den Wert in "B1" als Parameter zum Abfragen von Daten aus der Tabelle "DbAccessTable", die erstellt und die Beschreibung durch ein Meldungsfeld anzeigen.
Private Sub passExcelParamenters()
Dim StrSQL As String
Dim Dbs als Datenbank
Dim Rst als Recordset
Dim XLSPar As Integer
Dim XLSApp As Excel.Application
Dim XLXBook As Excel.Workbook
Dim XLSSheet As Excel.Worksheet
Eingestellt von Dbs = CurrentDb
Set XLXBook = Workbooks.Add(Template:="G:\myExcelData.xlsx")
Set XLSApp = XLXBook.Parent
Set XLSSheet = XLXBook.Worksheets("Sheet1")
Mit XLSSheet
. Range("B1"). Wählen Sie
XLSPar = Selection.Value
Enden mit
XLXBook.Close
StrSQL = "CREATE TABLE DbAccessTable (K_ID Anzahl, Prodct TEXT);"
DoCmd.SetWarnings False
DoCmd.RunSQL (StrSQL)
StrSQL = "INSERT INTO DbAccessTable (K_ID, Prodct)"
StrSQL = StrSQL & "VALUES (1,"Autos");"
DoCmd.RunSQL (StrSQL)
StrSQL = "INSERT INTO DbAccessTable (K_ID, Prodct)"
StrSQL = StrSQL & "VALUES (2, 'Lastwagen');"
DoCmd.RunSQL (StrSQL)
SqlStr = "SELECT dbAccessTable.Prod_ID, dbAccessTable.Prodct"
SqlStr = SqlStr & "von" DbAccessTable"
SqlStr = SqlStr & "wo (((dbAccessTable.Prod_ID) =" & (XLSPar) & "));"
Festlegen von Rst = Dbs. OpenRecordset(sqlStr)
RST. MoveLast
RST. MoveFirst
MsgBox "die Beschreibung für die Produkt-ID in B1 ist" & Rst. Fields(1). Wert
RST. Schließen
DBS. Schließen
EndSub
5 Mit "F5" Unterroutine ausgeführt.