SetRange funciana com ADO?

30/11/2005

0

Estou criando uma versão de um sistema feito em Paradox para Access, quando mudei BDE para ADO deu erro numa rotina que utiliza SetRange, CancelRange e ApplyRange(dá mensagem de que estes identificadores não estão declarados).

Alguém sabe se isto não funciona para ADO e o que devo fazer?

Grata.


Sarnhold

Sarnhold

Responder

Posts

30/11/2005

Adriano Santos

Bom, até onde sei o SetRange só funciona com paradox, me corrijam se eu estiver errado.


Responder

30/11/2005

Sarnhold

Realmente vi que não funciona com ADO.

Alguém sabe como posso solucionar o problema, estou precisando, urgente!!!


Obrigadão!!!


Responder

30/11/2005

Ildefonso

Olá...

O pensamento do programa terá que mudar.
O SetRange trabalha sobre o índice ativo. O ADO não trabalha com índices de forma a restringir dados, mas para acesso rápido e ordenação.

Você terá que experimentar uma destas duas opções, para obter o mesmo resultado do SetRange:

1. Usar uma expressão filtro, na propriedade Filter e atribuir True a propriedade Filtered;

2. Usar uma SQL que retorne apenas os dados que você quer dentro do range.


Responder

01/12/2005

Sarnhold

Valeu obrigada!


Já havia feito isto antes de ler a mensagem, mas mesmo assim as dicas foram importantes.

Agora estou tendo problemas com findnearest.


Tentei mudar para locate, mas está dando erro:

Preciso localizar em tbCategorias parte do valor do Campo DESCRICAO, ou seja se quiser buscar ´Blue´, por exemplo, se digitar B em Edit1, deve retornar a palavra ´Blue´ em DBEDIT1.

Tentei de duas maneiras, mas nenhuma deu certo:

dm.tbCategoria.Locate(dm.tbCategoriaDESCRICAO.Value,Edit1.Text,[loPartialKey]);

e

dm.tbCategoria.Locate(Edit1.Text,DBEdit1.Text,[loPartialKey]);

Dá a seguinte mensagem de erro:

´indice da lista fora dos limites´

Não sei se deu p/ entender!



Se alguém souber, por favor me ajude, pois preciso disto urgente.

Abraços.


Responder

01/12/2005

Sarnhold

Deu certo agora:

dm.tbCategoria.Locate(´DESCRICAO´,Edit1.Text,[loPartialKey, locaseinsensitive] );

Obrigada.


Responder

01/12/2005

Sarnhold

findkey também não funciona.

Ex.:

If (Dm.tbUsuarios.FindKey([EdUsuario.Text])) then

Alguém sabe como posso fazer?


Abraço.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar