CONSULTA EM 3 TEXTBOX E EM E CAMPOS DO B.D
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
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
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
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
cara não deu certo
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á.
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á.
Giovani,
Não deu certo, mas o que aconteceu? Qual foi a crÃtica?
Não deu certo, mas o que aconteceu? Qual foi a crÃtica?
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.
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