Wissen, wie man Structured Query Language Aussagen gegen eine Excel-Tabelle ausführen kann wertvoll sein . Microsoft Excel ist ein Tabellenkalkulationsprogramm in der Microsoft Office-Suite enthalten. SQL ist vor allem in relationalen Datenbanken verwendet, kann aber auch verwendet werden, um eine Excel-Tabelle zu lesen. Visual Basic für Applikationen ( VBA) wird verwendet, um Routineaufgaben in den Microsoft Office-Anwendungen automatisieren. In wenigen Schritten können Sie VBA-Code schreiben , um eine SQL-Anweisung auszuführen und Lesen von Daten in einer Excel-Tabelle gespeichert. Things You
Microsoft Office Access 2007
Microsoft Office Excel 2007
brauchen anzeigen Weitere Anweisungen
1
Starten Sie Microsoft Excel 2007 und geben Sie " Spalte1 " in " A1 "," Column2 "in" B1 ".
Typ " A " in " A2 " ," B " in " A3 "," C "in" A4 "," D "in" A5 ".
Typ "1" in "B2 ", "2 " in " B3 ", "3 " in " B4 ", " 4 " in " B5 ".
Speichern Sie Ihre Tabellenkalkulation "C : . \\ "als" Book1.xls "
2
starten Sie Microsoft Office Access 2007 und klicken Sie auf" Blank -Datenbank ", und wählen Sie dann auf" Erstellen " . Klicken Sie auf " Database Tools " und wählen Sie " Visual Basic. " Klicken Sie auf " Insert "-Feld und wählen Sie " Module".
3
Geben Sie den folgenden , um die " runSQLExcel " Unterprogramm erstellen :
Private Sub runSQLExcel ()
Press "Enter".
4
Geben Sie den folgenden Ihre Variablen definieren :
Const adOStatic = 3
Const adLkOpt = 3
< p> Const adCmdString = & H1
5
Geben Sie den folgenden zu definieren und zu öffnen Verbindungen zu der Excel-Tabelle :
Set objectConn = CreateObject (" ADODB.Connection " )
Set objectRst = CreateObject (" ADODB.Recordset " )
objectConn.Open "Provider = Microsoft.Jet.OLEDB.4.0; " & _
" Data Source = C : \\ Book1.xls ; "& _
" Extended Properties = "" Excel 8.0 ; HDR = Yes ; ""; "
6
Geben Sie den folgenden , um eine SQL ausführen Anweisung und öffnen Sie ein neues Recordset:
objectRst.Open "SELECT * FROM [ Tabelle1 $] ", _
objectConn , adOStatic , adLkOpt , adCmdString
7
Geben Sie den folgenden in einer Schleife durch Ihre Recordset und Display für beide Spalten in Ihrer Tabelle :
Do Until objectRst.EOF
MsgBox " Colum1 :" & objectRst.Fields.Item ( . " Spalte1 " ) Value & "" & _
" Colum2 : . " & objectRst.Fields.Item ( " Column2 " ) Wert
objectRst.MoveNext
< p > Schleife
Presse "F5" auf Ihrer Unterroutine ausführen .