Ir para conteúdo
Fórum Script Brasil
  • 0

Erro com 2 filtros


MagoDanger

Pergunta

Olá pessoal

Estou com um problema nesse código:

begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' + DBEdit1.Text);
SQL.Add('AND subcodigo = ' + QuotedStr(DBEdit33.Text));
Open;

Preciso que ele filtre informações pela id_prop e pelo subcodigo

Por exemplo:

todos os lançamentos que a id_prop esteja com o valor 20 e o sbcodigo com o valor 1 (o id_prop, cada cadatro tem seu número, porém no subcodigo é o valor 1 ou 2).

O problema é que quando faço esse filtro parece o seinte erro:

'Tipo de dados incompativel na expressão critério'

Sinceramente não consigo achar a solução, alguém pode me dar essa força?

Banco de dados que estou usando pra esse projeto: ACCESS

Os 2 campos são do tipo Texto

Desde já agradeço a ajuda! Abraços

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

'Tipo de dados incompativel na expressão critério'

A função QuotedStr, retorna a string que é informada como parametro entre aspas, por exemplo;

edit1.text := 'Delphi'  /// então voce pode usar de 2 maneiras

table1.filter := 'campo  = ' + QuotedStr(edit1.text);

que tem o mesmo efeito de

table1.filter := 'campo = ' + '''+ edit 1.text +'''

ambas retornariam o seguinte valor para o table1.filter

campo = 'Delphi'
no seu caso ficaria:
begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' + '''+DBEdit1.Text+''');
SQL.Add('AND subcodigo = ' + QuotedStr(DBEdit33.Text));
Open;
ou
begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' + QuotedStr(DBEdit1.Text);
SQL.Add('AND subcodigo = ' + QuotedStr(DBEdit33.Text));
Open;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Jhonas,

só fazer umas correções ae no seu código,

na verdade são 4 aspas e não 3:

begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' +''''+DBEdit1.Text+''''+'');
SQL.Add('AND subcodigo = ' + QuotedStr(DBEdit33.Text));
Open;
aqui faltou um parentese no final na primeira linha do SQL.Add, ficando assim:
begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' + QuotedStr(DBEdit1.Text));
SQL.Add('AND subcodigo = ' + QuotedStr(DBEdit33.Text));
Open;
outra forma é essa:
begin
with dm.q_pag_prop do
begin
Close;
SQL.Clear;
SQL.Add('select * from tbl_pag_prop where id_prop = ' +#39+DBEdit1.Text+#39+'');
SQL.Add('AND subcodigo = ' +#39+DBEdit33.Text+#39+'');
Open;

Abs. Progr'amador

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...