Pesquisa utilizando ADOQuery (Ajudem-me!!!!!!!!!!!!!!!!!!!!)

17/03/2003

0

Olá pessoal!

Estou utilizando banco de dados MSAccess, com ADO.

O código abaixo é compilado sem erros no delphi:

procedure TF_Pesq.btnImprimirClick(Sender: TObject);
var
i: Integer;
begin
i:= rgOrdem.ItemIndex;
with Modulo.qryListaPr do
begin
Close;
with SQL do
begin
Clear;
Add(´SELECT Protocolo, DV, Dependencia, Cliente, DataDaEntrada, DataDaSaida, Valor, LnCredito, Situacao, Funcionario, Area´); //Selecionar os campos
Add(´FROM TBL_OPERACAO´); //Selecionar a tabela
Add(´WHERE Cliente = ´ + Edit1.Text + ´ AND Funcionario = ´ + lkeFunci.Text +
´ AND LnCredito = ´ + lkeLnCred.Text + ´ AND Situacao = ´+ lkeSituacao.Text +
´ AND Area = ´ + cbArea.Text + ´ AND Dependencia = ´ + lkeDep.Text);
Add(´ORDER BY ´ + rgOrdem.Items[i]); //Selecionar a ordem
end;
Open;
end;
Application.CreateForm(TQR_ListaPr, QR_ListaPr); //Carrega form na memória
QR_ListaPr.Preview; //Mostra form em modo exclusivo
QR_ListaPr.Free; //Libera Memória
with Modulo do
qryListaPr.Close; //Fecha a ADOQuery
end;

Mas na execução do programa quando abro o form de pesquisa e clico no botão imprimir (btnImprimirClick), aparece a seguinte mensagem de erro:


Project MeuProjeto.exe raised exception class EOleException with message ´Sintax error (operand not found) on expression ´Clientes = Nome do Cliente AND Funcionario = Nome do Funcionario AND LnCredito = Linha de Credito AND Situacao = Situação AND Area = Área AND Dependencia = Dependência.

Onde estou errando ou o que devo modificar???


Desde já agradeço.


Vega.x

Vega.x

Responder

Posts

17/03/2003

E_gama

Se os campos que fazem parte da clausula [b:35bc78cdb9]where[/b:35bc78cdb9] sao tipo texto, entao vc nao pode esquecer de delimitah-los com aspas simples (´)


Responder

17/03/2003

Vega.x

Mas a origem dos dados são os edits e os combobox!


Responder

17/03/2003

E_gama

Nao importa a origem dos dados. Voce poderia utilizar a funcao [b:c42acffd6c]QuotedStr[/b:c42acffd6c] para colocar as aspas. Num dos seus casos:

´WHERE Cliente = ´ + QuotedStr(Edit1.Text);

Uma pergunta: O que vem a ser [b:c42acffd6c]lkeSituacao[/b:c42acffd6c], no seu codigo ?


Responder

17/03/2003

Vega.x

O ´lkeSituacao´ é o nome que dei para o componente TRxLookupEdit do RxLib.


Responder

17/03/2003

Marcelo Saviski

[color=#012345:32a0fbcf67]procedure TF_Pesq.btnImprimirClick(Sender: TObject);
var
i: Integer;
begin
i:= rgOrdem.ItemIndex;
with Modulo.qryListaPr do
begin
Close;
with SQL do
begin
Clear;
Add(´SELECT Protocolo, DV, Dependencia, Cliente, DataDaEntrada, DataDaSaida, Valor, LnCredito, Situacao, Funcionario, Area´); //Selecionar os campos
Add(´FROM TBL_OPERACAO´); //Selecionar a tabela
Add(´WHERE (Cliente = ´´ + Edit1.Text + ´´) AND (Funcionario = ´´ + lkeFunci.Text +
´´) AND (LnCredito = ´´ + lkeLnCred.Text + ´´) AND (Situacao = ´´+ lkeSituacao.Text +
´´) AND (Area = ´´ + cbArea.Text + ´´) AND (Dependencia = ´´ + lkeDep.Text + ´)´);
Add(´ORDER BY ´ + rgOrdem.Items[i]); //Selecionar a ordem
end;
Open;
end;
Application.CreateForm(TQR_ListaPr, QR_ListaPr); //Carrega form na memória
QR_ListaPr.Preview; //Mostra form em modo exclusivo
QR_ListaPr.Free; //Libera Memória
with Modulo do
qryListaPr.Close; //Fecha a ADOQuery
end; [/color:32a0fbcf67]


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