Pessoal, estou migrando um sistema de DAO para ADO, abaixo está uma rotina de pesquisa que funciona perfeito com DAO (Object DataControl), porém quero que esta rotina funcione em ADO sem o uso de Object Adodc. como devo adaptar?
Veja a rotina
Private Sub cmdPesquisar_Click()
Dim Sql As String
Dim CTRL As Control
Dim Condicao() As String
Sql = "Select * From MedQuimica Where "
For Each CTRL In Me.Controls
If TypeOf CTRL Is TextBox Or _
TypeOf CTRL Is ActiveText Or _
TypeOf CTRL Is ComboBox Then
If (CTRL.text <> "" And CTRL.Name = "txtPesqLaboratorio") Then
cont = cont + 1
ReDim Preserve Condicao(cont) As String
Condicao(cont) = " Fabricante Like '" & txtPesqLaboratorio.text & "*'"
End If
If (CTRL.text <> "" And CTRL.Name = "txtPesqSub_Ativa") Then
cont = cont + 1
ReDim Preserve Condicao(cont) As String
Condicao(cont) = " SubAtiva Like '" & txtPesqSub_Ativa.text & "*'"
End If
End If
Next
For F = 1 To UBound(Condicao)
If F > 1 Then
Sql = Sql & " And" & Condicao(F)
Else
Sql = Sql & Condicao(F)
End If
Next F
Sql = Sql & " Order By Medicamento"
Data1.RecordSource = Sql
Data1.Refresh
End Sub Minha conexão no load do form:
'Conecta a tabela de Produtos
Call Connect
TabProdutos.Open "MedQuimica", Conectar, adOpenKeyset, adLockOptimistic
With MSFlexGrid1
'limpar o flex
.Clear
'quantidade de linhas e colunas
.Rows = 3
.Cols = 5
'tamanho das colunas
.ColWidth(1) = 1600
.ColWidth(2) = 2100
.ColWidth(3) = 1200
.ColWidth(4) = 3400
'cabecalho
.TextMatrix(0, 1) = "Nome"
.TextMatrix(0, 2) = "Apresentação"
.TextMatrix(0, 3) = "Fabricante"
.TextMatrix(0, 4) = "Referência"
End With
Funçao Conect em um modulo:
Public Banco As String
Public Conectar As ADODB.Connection
Public TabClientes As ADODB.Recordset
Public TabParametros As ADODB.Recordset
Public TabProdutos As ADODB.Recordset
Sub Connect()
'Aqui começa a verificaçao da existencia do bd e sua conexao via rede
Dim Caminho As String
If App.PrevInstance = True Then
Dim Form As Form
For Each Form In Forms
MsgBox "O Sistema já foi Iniciado", vbInformation, ""
Unload Form
Set Form = Nothing
Next Form
End
End If
'--------------------------------------------------------------------
'Aqui começa a verificaçao do caminho do BD
Caminho = ReadINI("Caminho", "BD", App.Path & "Config.ini")
'--------------------------------------------------------------------
'Aqui começa a conexao com o BD
Set Conectar = CreateObject("ADODB.Connection")
Conectar.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & Caminho
Set TabClientes = CreateObject("ADODB.Recordset")
Set TabParametros = CreateObject("ADODB.Recordset")
Set TabProdutos = CreateObject("ADODB.Recordset")
'TabClientes.CursorLocation = adUseClient
End Sub Marcelino Neto
Vb6.0
Access2003