Hoi,
Ik loop tegen het volgende probleem aan.
Als ik een nieuwe externe verbinding maak met een SQL database om een aantal cellen te vullen kan ik maar 1 slect query uitvoeren met de volgende code.
Hoe kan ik met deze methode meerdere select statements uitvoeren zodanig dat ik maar 1 keer deze verbinding hoef op te zetten?
Als ik extra variablen toevoeg krijg ik wel nieuwe data in de colom B behalve de tabelnaam, die springt dan naar colom C
Ik loop tegen het volgende probleem aan.
Als ik een nieuwe externe verbinding maak met een SQL database om een aantal cellen te vullen kan ik maar 1 slect query uitvoeren met de volgende code.
Code:
Private Sub Workbook_Open()
'ADO = activaX data objects
'Data source (SQL database) <--> OLEDB Provider <--> ADO Data Objects
'you need a reference to ADO library
Dim kSQL As String
Dim rs As ADODB.Recordset 'holds the data
Dim rs1 As ADODB.Recordset
Dim cn As ADODB.Connection 'declare connection
Dim cmdObj As ADODB.Command 'Declaee a command object
Sheets("blad1").Select
Selection.ClearContents
Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB.1; Persist Security Info=True;User ID=siteconfig;Initial Catalog=testconfig;Data Source=mediserver;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=AVM-O7010-W7;Use Encryption for Data=False;Tag with column collation when possible=False"
kSQL = "select klant from klanten"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient 'who manages the cursor ADO ( AsUseClient ) or server
rs.Open kSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
If rs.EOF Then
MsgBox ("recordsset is empty. rs.EOF = " & rs.EOF)
Else
'MsgBox ("The number of rows returned from the select statement is : " & rs.RecordCount)
Range("A1").Select
For Each qf In rs.Fields
Range("a1").Offset(0, coloffset).Value = qf.Name
coloffset = coloffset + 1
Next qf
Range("a2").CopyFromRecordset rs 'data naar werkblad sturen
rs.Close 'recordset sluiten
Set rs = Nothing 'DESTROY THE recordset
End If
Sheets("blad1").Visible = False
End Sub
Hoe kan ik met deze methode meerdere select statements uitvoeren zodanig dat ik maar 1 keer deze verbinding hoef op te zetten?
Als ik extra variablen toevoeg krijg ik wel nieuwe data in de colom B behalve de tabelnaam, die springt dan naar colom C
Laatst bewerkt: