Próbuję wykonać połączenie z bazą danych i pokazać wyniki w komórkach arkusza przy pomocy poniższego makra:
wiersz=10
kol=3
For iter = 1 To ColorsCount
'połaczenie do bazy danych
Set conn = New ADODB.Connection
With conn
.ConnectionString = "Provider=SQLOLEDB.1;Password=pass;Persist Security Info=True;User ID=admin;Initial Catalog=Test;Data Source=serwer\testbaza;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=DOM-MSI;Use Encryption for Data=False;Tag with column collation when possible=False"
.Open
End With
CNum = Cells(iter, 26).Value
'utworzenie zapytania
RasterQuery = "SELECT rep_raster.indeks, rep_raster.szerokosc, rep_raster.wysokosc, rep_raster.cena FROM Test.dbo.rep_raster rep_raster GROUP BY rep_raster.indeks, rep_raster.szerokosc, rep_raster.wysokosc, rep_raster.cena HAVING (rep_raster.indeks = " + Str(CNum) + ") ORDER BY rep_raster.szerokosc, rep_raster.wysokosc"
Set rasterdata = conn.Execute(RasterQuery)
Do While rasterdata.EOF = False
Cells(wiersz,kol).Value=rasterdata("szerokosc")
Cells(wiersz,kol+1).Value=rasterdata("wysokosc")
rasterdata.Movenext
wiersz=wiersz+1
Loop 'koniec pętli dla wybranego cennika
rasterdata.Close
Set rasterdata = Nothing
conn.Close
Set conn = Nothing
Next iter
Pierwszy przebieg jest ok, ale za drugim dostaję błąd aplikacji przy próbie użycia obiektu rasterdata. Pojęcia nie mam, co może być z nim nie tak. Pomóżcie. |