SELECT

GIOGOMES 30/11/2014 12:45:42
#442863
O QUE PODE ESTAR ERRADO NO SELECT?

Dim SQL As String
Dim Criterio, Criterio1, Criterio2 As String
Criterio = MaskEdBox1
Criterio1 = Chr$(39) & [Ô]*[Ô] & Combo1.Text & [Ô][Ô] & Chr$(39)
Criterio2 = Format(Date, [Ô]dd/mm/yyyy[Ô])
SQL = [Ô]SELECT * FROM Lancamento_despesa where Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] and Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] and Pago= [ô]NÃO[ô] + Data_vencimento like < #[Ô] + Str(Criterio2) + [Ô]# and Pago LIKE [ô]*[Ô] & Combo6.Text & [Ô]*[ô] and Data_Vencimento LIKE [ô]*[Ô] & Criterio & [Ô]*[ô] and Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] and Pagamento_para LIKE[Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh

ERRO: TTIPY MISMATCH
MARCELO.TREZE 30/11/2014 19:19:21
#442868
Resposta escolhida
colega tem uma lambança, lembre-se a simplicidade é sempre o melhor caminho.

primeiro não vejo necessidade do uso do chr$(39) sendo que você pode colocar o caractere direto no código.

outra coisa sempre leia bem o que escreve, sei que as vezes após horas digitando acabamos não vendo nossos erros, mas tenha este cuidado, veja por exemplo o sinal (+) após o [ô]NÃO[ô], então é isso, tente ai

Dim SQL As String
Dim Criterio As String, Criterio1 As String
Dim Criterio2 As Date
Criterio = MaskEdBox1
Criterio1 = [Ô][ô]*[Ô] & Combo1.Text & [Ô][ô][Ô]
Criterio2 = Format(Date, [Ô]mm/dd/yyyy[Ô])
SQL = [Ô]SELECT * FROM Lancamento_despesa WHERE Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] AND Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] AND Pago= [ô]NÃO[ô] AND Data_vencimento like < #[Ô] + Criterio2 + [Ô]# AND Pago LIKE [ô]*[Ô] & Combo6.Text & [Ô]*[ô] AND Data_Vencimento LIKE [ô]*[Ô] & Criterio & [Ô]*[ô] AND Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] AND Pagamento_para LIKE [Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh


veja se funciona percebi também uma formatação errada no campo data (Criterio2)
GIOGOMES 01/12/2014 16:59:34
#442888
Citação:

:
colega tem uma lambança, lembre-se a simplicidade é sempre o melhor caminho.

primeiro não vejo necessidade do uso do chr$(39) sendo que você pode colocar o caractere direto no código.

outra coisa sempre leia bem o que escreve, sei que as vezes após horas digitando acabamos não vendo nossos erros, mas tenha este cuidado, veja por exemplo o sinal (+) após o [ô]NÃO[ô], então é isso, tente ai

Dim SQL As String
Dim Criterio As String, Criterio1 As String
Dim Criterio2 As Date
Criterio = MaskEdBox1
Criterio1 = [Ô][ô]*[Ô] & Combo1.Text & [Ô][ô][Ô]
Criterio2 = Format(Date, [Ô]mm/dd/yyyy[Ô])
SQL = [Ô]SELECT * FROM Lancamento_despesa WHERE Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] AND Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] AND Pago= [ô]NÃO[ô] AND Data_vencimento like < #[Ô] + Criterio2 + [Ô]# AND Pago LIKE [ô]*[Ô] & Combo6.Text & [Ô]*[ô] AND Data_Vencimento LIKE [ô]*[Ô] & Criterio & [Ô]*[ô] AND Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] AND Pagamento_para LIKE [Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh


veja se funciona percebi também uma formatação errada no campo data (Criterio2)



mudei a formatação da data
continua o mesmo erro...

OMAR2011 01/12/2014 18:32:55
#442894
O campo Pago da sua tabelas esta sendo usado duas vezes, Data_Vencimento duas vezes.Não vai dar certo.
AND Pago= [ô]NÃO[ô]
Pago LIKE [ô]*[Ô] & Combo6.Text & [Ô]*[ô]
Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] mude todos para
Discriminacao_despesa LIKE [ô][Ô] & Text2.Text & [Ô][ô]
AND Data_vencimento like < #[Ô] + Criterio2 + [Ô]# mude para,
AND Data_vencimento < #[Ô] & Criterio2 & [Ô]#[Ô]
Refaz a sua consulta.
GIOGOMES 02/12/2014 16:59:37
#442938
Citação:

:
O campo Pago da sua tabelas esta sendo usado duas vezes, Data_Vencimento duas vezes.Não vai dar certo.
AND Pago= [ô]NÃO[ô]
Pago LIKE [ô]*[Ô] & Combo6.Text & [Ô]*[ô]
Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] mude todos para
Discriminacao_despesa LIKE [ô][Ô] & Text2.Text & [Ô][ô]
AND Data_vencimento like < #[Ô] + Criterio2 + [Ô]# mude para,
AND Data_vencimento < #[Ô] & Criterio2 & [Ô]#[Ô]
Refaz a sua consulta.



cara fiz as devidas mudanças e continua o erro
OMAR2011 02/12/2014 19:26:42
#442944
Cabra, faça o seguinte. Coloque o seu projeto para baixar
ai o pessoal vai verificar onde está acontecendo o erro.
MARCELO.TREZE 03/12/2014 08:45:38
#442954
Mais uma tentativa

Dim SQL As String
Dim Criterio As String, Criterio1 As String
Dim Criterio2 As Date
Criterio = Format(MaskEdBox1, [Ô]mm/dd/yyyy[Ô])
Criterio1 = [Ô][ô]*[Ô] & Combo1.Text & [Ô][ô][Ô]
Criterio2 = Format(Date, [Ô]mm/dd/yyyy[Ô])
SQL = [Ô]SELECT * FROM Lancamento_despesa WHERE Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] AND Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] AND Pago= [ô][Ô] & Combo6.Text & [Ô][ô] AND Data_vencimento < #[Ô] + Criterio2 + [Ô]# AND Data_Vencimento = #[Ô] & Criterio & [Ô]# AND Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] AND Pagamento_para LIKE [Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh


eu formatei a variável critério para o formato de data correto
na parte da query [Ô]...DataVencimento Like [ô]*...[Ô] eu alterei para o formato correto que é [Ô]...Data_Venciemento = #[Ô] & Critério & [Ô]#...[Ô]
Retirei a parte em que você repete a busca no campo PAGO, no caso retirei a parte [Ô]...pago = [ô]NÃO[ô]...[Ô] e mantive a parte [Ô]...Pago= [ô][Ô] & Combo6.Text & [Ô][ô]...[Ô] pois acredito que você utilize o combo para buscar por não ou por sim.
Se não funcionar diga qual é o tipo de cada campo utilizado nesta consulta.




GIOGOMES 03/12/2014 14:45:16
#442965
Citação:

:
Mais uma tentativa

Dim SQL As String
Dim Criterio As String, Criterio1 As String
Dim Criterio2 As Date
Criterio = Format(MaskEdBox1, [Ô]mm/dd/yyyy[Ô])
Criterio1 = [Ô][ô]*[Ô] & Combo1.Text & [Ô][ô][Ô]
Criterio2 = Format(Date, [Ô]mm/dd/yyyy[Ô])
SQL = [Ô]SELECT * FROM Lancamento_despesa WHERE Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] AND Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] AND Pago= [ô][Ô] & Combo6.Text & [Ô][ô] AND Data_vencimento < #[Ô] + Criterio2 + [Ô]# AND Data_Vencimento = #[Ô] & Criterio & [Ô]# AND Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] AND Pagamento_para LIKE [Ô] & Criterio1
Data1.RecordSource = SQL
Data1.Refresh


eu formatei a variável critério para o formato de data correto
na parte da query [Ô]...DataVencimento Like [ô]*...[Ô] eu alterei para o formato correto que é [Ô]...Data_Venciemento = #[Ô] & Critério & [Ô]#...[Ô]
Retirei a parte em que você repete a busca no campo PAGO, no caso retirei a parte [Ô]...pago = [ô]NÃO[ô]...[Ô] e mantive a parte [Ô]...Pago= [ô][Ô] & Combo6.Text & [Ô][ô]...[Ô] pois acredito que você utilize o combo para buscar por não ou por sim.
Se não funcionar diga qual é o tipo de cada campo utilizado nesta consulta.






O TAMANHO DA SELECT TEM ALGUMA INFLUENCIA?

PQ QUANDO EU TIRO ALGUM CAMPO DE CONSULTA DA SELECT DAÍ FUNCIONA

O PROBLEMA NÃO E SÓ NO CAMPO QUE RETIREI, PQ TESTEI TODOS E DEU A MESMA COISA.
MARCELO.TREZE 03/12/2014 15:13:07
#442966
Pode sim influenciar mas não é o tamanho do select e sim a quantidade de operadores (and, or, etc)., você tentar o uso de parenteses para ver se funciona
ex:

SQL = [Ô]SELECT * FROM Lancamento_despesa WHERE Discriminacao_despesa LIKE [ô]*[Ô] & Text2.Text & [Ô]*[ô] AND (Safra_referencia Like [ô]*[Ô] & MaskEdBox4.Text & [Ô]*[ô] AND Pago= [ô][Ô] & Combo6.Text & [Ô][ô] ) AND ( Data_vencimento < #[Ô] + Criterio2 + [Ô]#  AND Data_Vencimento = #[Ô] & Criterio & [Ô]#) AND (Pago_po LIKE [ô]*[Ô] & Combo7.Text & [Ô]*[ô] AND Pagamento_para LIKE [Ô] & Criterio1 & [Ô])[Ô]



Tópico encerrado , respostas não são mais permitidas