Exportar 2 tablas de SQL en dos hojas de Excel
Necesito otra vez de su ayuda
Lo que estoy tratando de hacer es exportar dos tablas (usuarios y clientes) de sql a excel.
Tengo el siguiente código; pero solo me exporta la tabla usuarios más no sé cómo hacer para que también me exporte la tabla clientes en el mismo código en la hoja que se llama clientes.
Dim strDBNAME As String
Dim strQuery, strQuery2, txtcliente As String
Sub Buscar()
strDBNAME = "Base_Prueba"
Sheets("USUARIOS").Range("A13", "D100000").ClearContents
Sheets("CUENTAS").Range("A10", "AD100000").ClearContents
If validarDatos = True Then
txtcliente = Worksheets("Principal").Range("F11")
strQuery = "SELECT * FROM USUARIOS"
strQuery2 = "SELECT * FROM CLIENTES"
MsgBox "Se consultara " & strDBNAME
Call ConnectSqlServer
End If
End Sub
Private Function validarDatos() As Boolean
Dim blnValidar As Boolean
blnValidar = False
txtcliente = Worksheets("Principal").Range("F11")
'---------------------validar cliente
If txtcliente = "" Then
MsgBox "Debe Ingresar el numero de Cliente"
validarDatos = False
Exit Function
End If
validarDatos = True
End Function
Sub ConnectSqlServer()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=123456abc;" & _
"Initial Catalog=" & strDBNAME & ";" & _
"Integrated Security=SSPI;"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open the connection and execute.
conn.Open sConnString
Set rs = conn.Execute(strQuery)
' Check we have data.
If Not rs.EOF Then
' Transfer result
Sheets("USUARIOS").Range("A13").CopyFromRecordset rs
' Close the recordset
rs.Close
MsgBox "Finalizo la consulta de Usuarios"
Else
MsgBox "Error: No existen registros con este codigo.", vbCritical
End If
If Not rs5.EOF Then
' Transfer result
Sheets("CUENTAS").Range("C10").CopyFromRecordset rs5
' Close the recordset
rs5.Close
MsgBox "Finalizo la consulta de Cuentas"
Else
MsgBox "Error: No existen registros con este codigo.", vbCritical
End If
' Clean up
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub