Bom dia Reinaldo,
Estou tomando como base uma planilha que trabalhei certa vez que usava o mesmo critério, ou seja, dois textbox...abaixo, envio os códigos que usava anteriormente para que você entenda o que quero fazer...só que agora com a conexão ao banco de dados pelo firebird....
Private Sub CommandButton1_Click()
' Cria a conexão.
Dim cnPubs As ADODB.Connection
Set cnPubs = New ADODB.Connection ' Variável para armazenar a String de Conexão.
Dim strConn As String
Dim strSQL As String
'Informa o SQL Server OLE DB Provider.
strConn = "PROVIDER=SQLOLEDB;DATA SOURCE=CAMINHO;INITIAL CATALOG=NOME;User ID=NOME;Password=SENHA"
Plan3.Range("L9:O999999").ClearContents
'Abre a conexão.
cnPubs.Open strConn
' Cria o objeto Recordset.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset
With rsPubs
' Associa a conexão.
.ActiveConnection = cnPubs
' Extrai os dados.
strSQL = " select data_abert, count(os_num_cliente) as QTD_ABE, 'MG' as UF " & _
" into #temp_abert from SITEC..tb_os where os_data_abert >= '" + dtIni.Text + "' and os_data_abert <= '" + dtFim.Text + "'" & _
"and ser_codigo <> 7 group by os_data_abert order by 1" & _
" select os_data_conc, count(os_num_cliente) as QTD_CON, 'MG' as UF " & _
....E AÍ VAI SEGUINDO O CÓDIGO.....
cnPubs.Execute strSQL, lngRecsAff, adExecuteNoRecords
Debug.Print "Records affected: " & lngRecsAff
.Open " select isnull(os_data_abert, os_data_conc), QTD_ABE, " + edtCap.Text + ", QTD_CON " & _
" from #temp_abert left join #temp_conc on os_data_abert = os_data_conc " & _
" and #temp_conc.UF = #temp_abert.UF where #temp_conc.UF= '" + edtUF.Text + "'"
' Coloca os dados na planilha.
Plan3.Range("L9").CopyFromRecordset rsPubs
' Fecha a transação
.Close
End With
' Fecha conexão
cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
End Sub
Postado : 03/06/2013 8:05 am