Ir para conteúdo

Arquivado

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

marcoaoteixeira

[Resolvido] ADO e FIND usando LIKE

Recommended Posts

Olá pessoal...

 

Estou tendo um problema (que acredito ser incomum) com o ADO. Estou criando um programa de agenda para uso pessoal, só que não consigo passar uma busca usando LIKE.

 

ex.:

 

    Form.ADODC.RecordSet.Find "campo LIKE '" & criterio & "%'"    Form.ADODC.RecordSet.Requery    If Form.ADODC.RecordSet.BOF And Form.ADODC.RecordSet.EOF Then Exit Sub    While Not Form.ADODC.RecordSet.EOF        Form.List.AddItem Form.ADODC.RecordSet![campo]        Form.ADODC.RecordSet.MoveNext    Wend
Obs.: No BD, "campo" é indexado mas não é chave primária.

 

Bem, se não estou enganado, o LIKE restringe uma pesquisa a apenas os itens que se iniciem com o criterio. Só que ao retornar, o RecordSet trás todos os itens da tabela, sem restrição alguma.

 

Será que alguma alma caridosa pode me ajudar com isso? Aonde estou errando?

 

Estou usando BD Access 2000, VB6 com SP5, componente MS ADO Data Control 6.0 SP4 (OLEBD) e um arquivo *.udl para linkar o BD.

 

Grato! :)

 

P.S.: Caso alguém esteja com dúvida em algum ponto, por favor, contata-me.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meu camarada,

 

substitua o comando find pelo comando FILTER ....

 

Form.ADODC.RecordSet.FILTER "campo LIKE '" & criterio & "%'"

 

 

e retire o requery ....

 

A filtro irá funcionar....

 

Um abraço

 

 

Olá pessoal...

 

Estou tendo um problema (que acredito ser incomum) com o ADO. Estou criando um programa de agenda para uso pessoal, só que não consigo passar uma busca usando LIKE.

 

ex.:

 

...

Form.ADODC.RecordSet.Find "campo LIKE '" & criterio & "%'"

Form.ADODC.RecordSet.Requery

 

If Form.ADODC.RecordSet.BOF And Form.ADODC.RecordSet.EOF Then Exit Sub

 

While Not Form.ADODC.RecordSet.EOF

Form.List.AddItem Form.ADODC.RecordSet![campo]

Form.ADODC.RecordSet.MoveNext

Wend

...

 

Obs.: No BD, "campo" é indexado mas não é chave primária.

 

Bem, se não estou enganado, o LIKE restringe uma pesquisa a apenas os itens que se iniciem com o criterio. Só que ao retornar, o RecordSet trás todos os itens da tabela, sem restrição alguma.

 

Será que alguma alma caridosa pode me ajudar com isso? Aonde estou errando?

 

Estou usando BD Access 2000, VB6 com SP5, componente MS ADO Data Control 6.0 SP4 (OLEBD) e um arquivo *.udl para linkar o BD.

 

Grato! :)

 

P.S.: Caso alguém esteja com dúvida em algum ponto, por favor, contata-me.

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.