Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aureo2006

Pesquisa usando Find com dois criterios

Recommended Posts

Estou tentando fazer uma pesquisa num BD usando o método Find. Ao pesquisar o campo usando um critério, conforme poderão ver no código abaixo que postarei, não tenho probema. Porém, quando tento utlizar mais que um critério dá problema. Retorna informação de que os Tipos não coincidem. Como devo proceder?

 

CÓDIGO QUE DÁ ERRO

codigo_livro = txtfields1.Text	Adodc1.Recordset.MoveFirst '	pesquisa = codigo_livro	Adodc1.Recordset.Find "livro = '" & pesquisa & "'", "retorno = '" & Null & "'", adSearchForward

CÓDIGO QUE FAZ PESQUISA NORMAL

codigo_livro = txtFields1.Text	Adodc1.Recordset.MoveFirst '	pesquisa = codigo_livro	Adodc1.Recordset.Find "livro = '" & pesquisa & "'", adSearchForward

Só para que tenham presente meu objetivo: Eu quero que a pesquisa me retorne o registro cujo campo "livro" corresponda ao número existente no controle txtfields1.text, e o campo "retorno" esteja em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei usar a propriedade que me sugesiste, mas está me retornando o seguinte erro: "Erro de compilación: Se Experaba expressión." E indica a "aspa" simples depois de retorno, conforme está destacado aqui: retorno = '". O que poderia ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar duas opções porque não entendi esse Null ... é uma variável ou quer dizer NULO mesmo ?? Em todo caso tem dos dois jeitos:rsRel.Filter = ("livro = '" & pesquisa & "' AND retorno IS NULL")rsRel.Filter = ("livro = '" & pesquisa & "' AND retorno = '" & Null & "'")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dennys. Inicialmente obrigado pelas orientações. Em relação a pergunta que me fizeste, deixe-me explicar minha intenção. Eu possuo um tabela num BD que armazena informações sobre empréstimos de livros. Quando o livro é emprestado, a informação sobre a data em que ele foi devolvido, armazenada no campo "retorno", fica em branco. Estou construindo escript do formulario que registra a devolução. E a pesquisa que estou tentando fazer atatrvés do código que postei acima busca resgatar o registro correspondente ao livro referenciado no campo "livro, cujo valor do campo retrono esteja em branco. Esta combinação é unica pois após o registro da devolução ele passa a armazenar uma data e deixa de estar vazio. Em relação aos códigos que me sugeriste. O primeiro continua dando a msma mesnagem de erro que deu inicialmente. O segundo, retorna o seguinte erro: Erro 3001 em tempo de execução. Os argumentos estão incorretos, estão fora do intervalo aceitável ou em conflito. Só para constar: o campo retorno é um campo date do Firebird, e o campo livro é integer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.