In diesem Beispiel wird eine Abfragetabelle erstellt, der eine ADO-Datensatzgruppe zu Grunde liegt. In dem Beispiel werden die vorhandenen Einstellungen für Spaltensortierung und -filterung sowie Layoutinformationen aus Gründen der Abwärtskompatibilität beibehalten.
Dim cnnConnect As ADODB.Connection Dim rstRecordset As ADODB.Recordset Set cnnConnect = New ADODB.Connection cnnConnect.Open "Provider=SQLOLEDB;" & _ "Data Source=srvdata;" & _ "User ID=testac;Password=4me2no;" Set rstRecordset = New ADODB.Recordset rstRecordset.Open _ Source:="Select Name, Quantity, Price From Products", _ ActiveConnection:=cnnConnect, _ CursorType:=adOpenDynamic, _ LockType:=adLockReadOnly, _ Options:=adCmdText With ActiveSheet.QueryTables.Add( _ Connection:=rstRecordset, _ Destination:=Range("A1")) .Name = "Contact List" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With
In diesem Beispiel wird eine Textdatei mit fester Breite in eine neue Abfragetabelle importiert. Die erste Spalte in der Textdatei ist fünf Zeichen breit und wird als Text importiert. Die zweite Spalte ist vier Zeichen breit und wird übergangen. Der Rest der Textdatei wird in die dritte Spalte importiert, wobei das Standardformat verwendet wird.
Set shFirstQtr = Workbooks(1).Worksheets(1) Set qtQtrResults = shFirstQtr.QueryTables.Add( _ Connection := "TEXT;C:\My Documents\19980331.txt", Destination := shFirstQtr.Cells(1,1)) With qtQtrResults .TextFileParsingType = xlFixedWidth .TextFileFixedColumnWidths := Array(5,4) .TextFileColumnDataTypes := _ Array(xlTextFormat, xlSkipColumn, xlGeneralFormat) .Refresh End With
In diesem Beispiel wird auf dem aktiven Tabellenblatt eine neue Abfragetabelle erstellt.
sqlstring = "select 96Sales.totals from 96Sales where profit < 5" connstring = _ "ODBC;DSN=96SalesData;UID=Rep21;PWD=NUyHwYQI;Database=96Sales" With ActiveSheet.QueryTables.Add(Connection:=connstring, _ Destination:=Range("B1"), Sql:=sqlstring) .Refresh End With