Array
(
)

Parâmetros do Locate gerando erros...

Adalberto
   - 06 mar 2006

E aí, pessoal. Estou precisando de uma força.

Estou trabalhando com Access 2000 e ADO. Estou acessando uma tabela com dois campos (Código: autonumeração, e Nome: String). Coloquei os componentes ADOConnection, ADOTable e DataSource em um DataModule. O DataModule não está sendo criado automaticamente. Ele está sendo criado no evento OnCreate do formulário, e a abertura da tabela também (na propriedade IndexFieldNames da tabela estou usando um índice chamado ´Nome´, para ajudar ordenar na Grid):

dm := Tdm.Create(Self);
dm.tblAlunos.Open;

Na linha de pesquisa abaixo é que está dando o erro:

btnOK.Enabled := dm.tblAlunos.Locate(´Nome´,edNome.Text,[loCaseInsensitive,loPartialKey]);

Os erros gerados são:

Undeclared Identifier: ´loCaseInsensitive´
Undeclared Identifier: ´loPartialKey´
Incompatible Types: ´TLocaleOption´ and ´Integer´

Quando uso os componentes diretamente em um formulário tudo funciona perfeitamente.

Alguém tem alguma idéia de onde está o erro ?

Obrigado...


Sremulador
   - 06 mar 2006

talvez de vc fizer assim funcione
if dm.tblAlunos.Locate(´Nome´,edNome.Text,[loCaseInsensitive,loPartialKey]) then ...


Aroldo Zanela
   - 07 mar 2006

Colega,

Declare DB na lista de uses de seus formulário.


Paullsoftware
   - 07 mar 2006

Não seria mais simples suar um AdoQuery e ver se retorna algum valor na pesquisa tipo:

TAdoQuery = Qy

#Código

With Qy do
begin
Close;
SQL.Clear;
SQL.Add(´Select * From Tabela Where CampoString Starting With =:Param´);
Prepare;
Params[0].Value := Edit1.Text;
Open;
BtnOk.Enable := IsEmpy;
end;


é só uma ideia.. :wink:


Adalberto
   - 07 mar 2006


Citação:
Colega,

Declare DB na lista de uses de seus formulário.



Valeu, Aroldo !!! Sua dica deu certo...

Muito obrigado...