dans le VBA ci-dessous J'ai un statuts de sélection avec une table mais je veux plusieurs déclarations de sélection que les résultats doivent capturer dans Excel.comment sélectionner 2 sélections de statut dans les scripts VBA
Sub extract()
'usedrows = Sheets("Batch_Creation").Range("A" & Sheets("Batch_Creation").Rows.Count).End(xlUp).Row
'MsgBox usedrows
Dim cn As Object
Dim uid1, pass1, srvrnm
Set cn = CreateObject("ADODB.Connection")
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
Dim cmdSQLData As Object
Set cmdSQLData = CreateObject("ADODB.Command")
uid1 = "XXXXX"
pass1 = "XXXXX"
srvrnm = "XXXXX"
On Error GoTo err1
cn.Open "Driver=Teradata; DBCName=" & srvrnm & ";uid=" & uid1 & ";AUTHENTICATION=ldap;pwd=" & pass1 & "; Trusted_Connection=True"
Set cmdSQLData.ActiveConnection = cn
'MsgBox ("1")
On Error Resume Next
query1 = "select top 20 * from DBC.TABLES;" ---first select statements
query2 = "select count(*) from DBC.TABLES;" ---2nd select statements
query3 = "select * from DBC.TABLES where columnname="santosh";" ---3rd select statements
'MsgBox query1
cmdSQLData.CommandText = query1
cmdSQLData.CommandTimeout = 0
Set rs = cmdSQLData.Execute()
Dim r As Integer 'Row
Dim c As Integer 'Column
For c = 0 To rs.Fields.Count - 1
'This will start on Row 1, Column A (due to + 1) and place all the field headers
Sheet1.Cells(1, c + 1).Value = rs.Fields(c).Name
Next c
r = 2 'We'll start on Row 3
Do While Not rs.EOF
For c = 0 To rs.Fields.Count - 1
'c + 1 means we're starting on Column 1 (A)
'If we wanted to start in Column d, we would use c + 4
Sheet1.Cells(r, c + 1).Value = rs.Fields(c)
Next
r = r + 1
rs.MoveNext
Loop
Set rs = Nothing
'Set rs = New ADODB.Recordset
'rs.Clear
err1:
End Sub
Comment puis-je appeler plusieurs instructions select dans les scripts ci-dessus
query2 = "select count(*) from DBC.TABLES;" ---2nd select statements
query3 = "select * from DBC.TABLES where columnname="santosh";" ---3rd
En regardant les requêtes, vous pourriez union 1 et 3, avec un indentifier pour dire lequel était quoi, mais vous auriez besoin de plus d'un passage de recordset pour tout faire. Vous pouvez ajouter les champs supplémentaires au comptage, donc s'il y avait 4 champs dans la table, sélectionnez count (*), '' comme dummy1, '' comme dummy2 et ainsi de suite, alors vous pourriez les unir tous, mais j'utiliserais le approche ci-dessus, il vous offrira les fonctions de jeu d'enregistrements sur chacun à son tour également. –
je vous remercie pour votre suggestion..je veux afficher le nom de la table et le nombre de cette table particulière dans mon code ci-dessus –