Hej
Har en databas i access med massa artiklar, jag vill i ett exceldokument kunna hämta in olika information för alla artiklar som står i en viss kolumn.
I min första version skapade jag en sqlsats för varje artikel, något som tog alldeles för lång tid:
For j = 5 To antal_artiklar
Set Rs = Db.OpenRecordset("SELECT [data1],[Benämning] FROM Tbl_test WHERE [Artikelnr]=" & Cells(j, 4")
Cells(j, 5).CopyFromRecordset Rs
Next j
Tänkte då att man kan ju baka in så många artikelnr som möjligt i sqlfrågan och gjorde en loop som skapade en sqlsats. Om jag tex hade artikelnummren:
1
2
3
Så skapades frågan:
SELECT [data1],[Benämning] FROM Tbl_test WHERE [Artikelnr]=1 OR [Artikelnr]=2 OR [Artikelnr]=3)
Problemet här är att jag fick felmeddelande vid mer än ~250 artiklar så fick dela upp sqlsatsen så att det var som max 250 "OR"-satser.
Detta fungerar hyfsat nu men jag undrar om det finns något bättre sätt att göra detta på?