FIND - SEEK OU SELECT

NEW10 24/11/2009 14:24:50
#328500
Boa tarde a todos,

Bom, eu queria pedir um help a voces pois estou com duvidas no uso do find e quando posso uilizar o find ou select

A duvida no find é como faço para poder pesquisar em mais de um campo hoje utilizo dessa maneira com uso do ADO:

[ô]rotina para buscar determinado registro numa tabela

Dim rstabela As New ADODB.Recordset

Adoteste(0).Recordset.MoveLast
[ô]preciso utilizar outro campo para pesquisa , devo repetir a instruçao abaixo com o nome do outro campo?
rsTabela.find [Ô]codigo=[ô][Ô] & campo & [Ô][ô][Ô]

If rstabela.EOF = False Then

rotinas...

end if

Queria procurar num determinado campo usando o and exemplo campo registro and campo data ou codigo, no select usaria o where e usando find eu devo criar uma nova instruçao ou poderia usar um and??

Como ficaria esse emplo no Select com o criterio de usar mais um campo para pesquisa?E o metodo seek poderia usar tambem?


Obrigado
MARCOSLING 24/11/2009 14:52:30
#328502
Não sei bem ao certo, mas esses métodos (seek, find e etc) são coisa que existiam nas primeiras versões do vb com dao, e do clipper também.
Não uso mais isso e nunca vi alguém que conheça os comandos sql usar tbm.
Talvez pq, os comando sql sejam flexiveis e eficientes.

Vê se isso ajuda:
http://www.macoratti.net/cursosql.htm
NEW10 24/11/2009 15:13:00
#328505
O find eu uso com ADO mais dizem que as consultas com sql sao bem mais rapida queria uma comparaçao do exemplo citado acima com find usando select.

o seek sei ate onde sei é usado com DAO mais nunca usei
EDERMIR 24/11/2009 15:18:36
#328506
Eu recomendo utilizar o SELECT.

Principalmente pela resposta ser apenas os registros onde a comparação é verdadeira.

Eu uso o seek com DAO.
TECLA 24/11/2009 15:23:59
#328507
Os comandos SEEK e FIND são muito LIMITADOS, por isso sugiro que utilize as querys com comandos Transact-SQL.

Um outro ponto importante, é que você precisa CARREGAR TODOS OS REGISTROS da tabela para pesquisar um campo qualquer.
Traduzindo, perde em DESEMPENHO, ocupa muita MEMÓRIA, e sem necessidades.

Por isso, pense bem antes de utilizar um desses comandos!
NEW10 24/11/2009 15:37:05
#328508
Entendi vou passar a usar SQL,

Alguem poderia exemplificar o uso do SQL substituindo o find citado abaixo sendo que preciso pesquisar com dois criterios de busca:

A duvida no find é como faço para poder pesquisar em mais de um campo hoje utilizo dessa maneira com uso do ADO:

[ô]rotina para buscar determinado registro numa tabela

Dim rstabela As New ADODB.Recordset

Adoteste(0).Recordset.MoveLast
[ô]preciso utilizar outro campo para pesquisa , devo repetir a instruçao abaixo com o nome do outro campo?
rsTabela.find [Ô]codigo=[ô][Ô] & campo & [Ô][ô][Ô]

If rstabela.EOF = False Then

rotinas...

end if
TECLA 24/11/2009 15:52:25
#328509
Seria interessante você postar a ESTRUTURA DA TABELA e quais os CAMPOS da mesma que deseja efetuar a pesquisa.
EDERMIR 25/11/2009 08:36:26
#328534
Citação:

TECLA escreveu:
Seria interessante você postar a ESTRUTURA DA TABELA e quais os CAMPOS da mesma que deseja efetuar a pesquisa.



MUUUUUUUITO interessante, aliás.

Dim rstabela As New ADODB.Recordset

Adoteste(0).Recordset.MoveLast
[ô]preciso utilizar outro campo para pesquisa , devo repetir a instruçao abaixo com o nome do outro campo?
rsTabela.OPEN [Ô]select * from TABELA where codigo=[ô][Ô] & campo & [Ô][ô] and CAMPO2 = [Ô] & Woutrovalor

If rstabela.EOF = False Then

rotinas...

end if




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