Ik ben bezig in Excel om een worksheet op te zetten die een lijst van (artikel)nummers opzoekt in een database dmv Data connectie / SQL Query en daar een aantal velden opzoekt.
Aan de hand van de macro tool in Excel heb ik al het een en ander in elkaar geknipt:
Dit is een macro die voor één cell de juiste waarden opzoekt. Mijn probleem is echter om deze actie voor een "complete" kolom te runnen. Een duw in de goede richting zal mij waarschijnlijk al goed helpen
Als work-around kan ik in een sheet de complete DB-Tabel inlezen en dan door middel van een VLOOKUP de juiste waarden opzoeken. Probleem wat ik hier echter mee heb, is dat dit meer dan 65356 regels oplevert, waar excel 2003-gebruikers niet mee overweg kunnen.
Aan de hand van de macro tool in Excel heb ik al het een en ander in elkaar geknipt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Sub Macro1()
'
' Macro1 Macro
'
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=Ridder 000;ServerName=192.168.16.12.1583;ServerDSN=RIDDER000;ArrayFetchOn=1;ArrayBufferSize=8;TransportHint=TCP;DecimalSymb" _
), Array("ol=,;ClientVersion=8.60.192.030;CodePageConvert=1252;AutoDoubleQuote=0")), Destination:=Range("$C$1")).QueryTable
.CommandText = "SELECT ARTIKEL.OMSCHRIJVING" & Chr(13) & "" & Chr(10) & "FROM ARTIKEL ARTIKEL" & Chr(13) & "" & Chr(10) & "WHERE (ARTIKEL.EXTERN_VERKOOPNR='" & Range("A1").Value & "')"
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Table_Query_from_Ridder_000_1"
.Refresh BackgroundQuery:=False
End With
End Sub |
Dit is een macro die voor één cell de juiste waarden opzoekt. Mijn probleem is echter om deze actie voor een "complete" kolom te runnen. Een duw in de goede richting zal mij waarschijnlijk al goed helpen
Als work-around kan ik in een sheet de complete DB-Tabel inlezen en dan door middel van een VLOOKUP de juiste waarden opzoeken. Probleem wat ik hier echter mee heb, is dat dit meer dan 65356 regels oplevert, waar excel 2003-gebruikers niet mee overweg kunnen.