CONSULTA EM 3 TEXTBOX E EM E CAMPOS DO B.D

GIOGOMES 24/09/2014 19:55:39
#441487
Galera é o seguinte

Gostaria de fazer uma consulta em 3 textbox e em 3 campos no vb ao mesmo tempo

exemplo: text1=discriminação_despesa
text2=data_vencimento
text=Contas_pagas

fiz a consulta somente com um text e um campo, porém tentei de todo jeito e não da certo

segue o código:

Private Sub Command2_Click()
Me.MousePointer = vbHourglass
Dim SQL, Criterio As String
Criterio = Chr$(39) & Text2.Text & [Ô]*[Ô] & Chr$(39)
SQL = [Ô]SELECT * FROM Lancamento_despesa where Discriminacao_despesa like[Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
Command4.Enabled = False
MsgBox [Ô]Nenhuma despesa encontrada![Ô], vbInformation, [Ô]Agro Gestão[Ô]
Text2.SetFocus
Text2.Text = [Ô][Ô]
Else
Command4.Enabled = True
End If
Me.MousePointer = vbDefault
End Sub

CHDSSANTOS 25/09/2014 07:40:15
#441493
Bom dia Gio!

Não sei se entendi muito bem, mas tenta algo mais ou menos como abaixo, assim sua consulta poderá ser realizada como se fosse um filtro, permitindo ao usuario selecionar um ou mais criterios.


Sql = [Ô]SELECT * FROM Lancamento_despesa WHERE 1 = 1 [Ô]
If IsEmpty(Criterio1) = False Then
Sql = Sql & [Ô], Discriminacao_despesa LIKE [ô][Ô] & Criterio1 & [Ô][ô][Ô]
End If
If IsEmpty(Criterio2) = False Then
Sql = Sql & [Ô], data_vencimento = #[Ô] & Criterio2 & [Ô]#[Ô]
End If
If IsEmpty(Criterio3) = False Then
Sql = Sql & [Ô], Contas_pagas = [ô][Ô] & Criterio3 & [Ô][ô][Ô]
End If
Data1.RecordSource = Sql
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
Command4.Enabled = False
MsgBox [Ô]Nenhuma despesa encontrada![Ô], vbInformation, [Ô]Agro Gestão[Ô]
Text2.SetFocus
Text2.Text = [Ô][Ô]
Else
Command4.Enabled = True
End If
Me.MousePointer = vbDefault


Espero ter ajudado.
Abraço,

Carlos Henrique
São Paulo - SP
GIOGOMES 25/09/2014 07:50:40
#441494
cara não deu certo
MARCELO.TREZE 25/09/2014 11:34:39
#441500
Resposta escolhida
tente sem o like

primeiramente, data control é descontinuado, não use objeto data para consultas

pesquise sobre consultas usando ADO

outra coisa o tipo do campo influencia na montagem da string de consulta, então informe o tipo dos campos, outra coisa sua intenção é mesmo pesquisar os tres campos ao mesmo tempo, este metodo exige que os tres campos possuam os valores corretos, pois se um dos campos estiver errado na aparecerá.

CHDSSANTOS 26/09/2014 08:00:24
#441514
Giovani,

Não deu certo, mas o que aconteceu? Qual foi a crítica?
OMAR2011 26/09/2014 10:44:11
#441522
Tente deste jeito.
SQL = [Ô]SELECT * From Lancamento_despesa WHERE Lancamento_despesa.discriminação_despesa =[ô][Ô] & Text1.Text & [Ô][ô] AND Lancamento_despesa.Contas_pagas =[ô][Ô] & Text2.Text & [Ô][ô] AND Lancamento_despesa.data_vencimento =#[Ô] & Format(Text3.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#;[Ô]
Deu resultado.

Dao é igual o dinossauro do irmão da Peppa pig.
Brincadeira.
Tópico encerrado , respostas não são mais permitidas