ERRO DE SINTAXE
O CÓDIGO ABAIXO DEVERIA ATUALIZAR O MEU ESTOQUE, NO ENTANTO, SÓ RECEBO ESTA MENSAGEM DE ERRO:
ERRO DE SINTAXE (OPERADOR FALTANDO) NA EXPRESSÃO DE CONSULTA´(QUANTIDADE+?) WHERE CODPROD=?´
POR FAVOR ME AJUDEM !!!!!!!!!
O CÓDIGO ESTÁ DESCRITO LOGO ABAIXO:
procedure TFrmPedidos.SpeedButton1Click(Sender: TObject);
var
SomaT: Real;
NPed: Integer;
Begin
SomaT:= 0;
NPed:= datamodule2.AdotabPedidoCodPedido.AsInteger;
If Trim (DBEdit3.Text) <> ´´ Then
Begin
With DataModule2 Do
Begin
ADOQrEstoque.Active:= False;
ADOQrEstoque.SQL.Clear;
ADOQrEstoque.SQL.Add(´Select Distinct (CodProd),Qde, PrecoUnit´);
ADOQrEstoque.Sql.Add(´From TabItems Where CodPedido = ´);
ADOQrEstoque.SQL.Add (IntToStr(NPed));
ADOQrEstoque.Active:= True;
ADOQrEstoque.First;
While Not ADOQrEstoque.Eof Do
Begin
SomaT:= SomaT + ADOQrEstoque.FieldByName(´Qde´).Value * ADOQrEstoque.FieldByName(´PrecoUnit´).Value;
DataModule2.ADOTabPedido.Edit;
DBEdit4.Text:= FloatToStrF(SomaT, Fffixed, 9,2);
ADOQrAtualizaEstoque.Active:= False;
ADOQrAtualizaEstoque.Parameters.ParamByName(´Codigo´).Value:= ADOQrEstoque.FieldByName(´CodProd´).AsInteger;
ADOQrAtualizaEstoque.Parameters.ParamByName(´Quant´).Value:= ADOQrEstoque.FieldByName(´Qde´).AsInteger;
ADOQrAtualizaEstoque.ExecSQL;
DataModule2.ADOTabProduto.Refresh;
ADOQrEstoque.Next;
End;
End;
End
Else
Application.MessageBox(´faltando a Data de Recebimento´,´Atenção´,MB_OK);
end;
ERRO DE SINTAXE (OPERADOR FALTANDO) NA EXPRESSÃO DE CONSULTA´(QUANTIDADE+?) WHERE CODPROD=?´
POR FAVOR ME AJUDEM !!!!!!!!!
O CÓDIGO ESTÁ DESCRITO LOGO ABAIXO:
procedure TFrmPedidos.SpeedButton1Click(Sender: TObject);
var
SomaT: Real;
NPed: Integer;
Begin
SomaT:= 0;
NPed:= datamodule2.AdotabPedidoCodPedido.AsInteger;
If Trim (DBEdit3.Text) <> ´´ Then
Begin
With DataModule2 Do
Begin
ADOQrEstoque.Active:= False;
ADOQrEstoque.SQL.Clear;
ADOQrEstoque.SQL.Add(´Select Distinct (CodProd),Qde, PrecoUnit´);
ADOQrEstoque.Sql.Add(´From TabItems Where CodPedido = ´);
ADOQrEstoque.SQL.Add (IntToStr(NPed));
ADOQrEstoque.Active:= True;
ADOQrEstoque.First;
While Not ADOQrEstoque.Eof Do
Begin
SomaT:= SomaT + ADOQrEstoque.FieldByName(´Qde´).Value * ADOQrEstoque.FieldByName(´PrecoUnit´).Value;
DataModule2.ADOTabPedido.Edit;
DBEdit4.Text:= FloatToStrF(SomaT, Fffixed, 9,2);
ADOQrAtualizaEstoque.Active:= False;
ADOQrAtualizaEstoque.Parameters.ParamByName(´Codigo´).Value:= ADOQrEstoque.FieldByName(´CodProd´).AsInteger;
ADOQrAtualizaEstoque.Parameters.ParamByName(´Quant´).Value:= ADOQrEstoque.FieldByName(´Qde´).AsInteger;
ADOQrAtualizaEstoque.ExecSQL;
DataModule2.ADOTabProduto.Refresh;
ADOQrEstoque.Next;
End;
End;
End
Else
Application.MessageBox(´faltando a Data de Recebimento´,´Atenção´,MB_OK);
end;
Alexandretavares
Curtidas 0
Respostas
Oberdan
14/07/2003
99¬ de chances de estar faltando uma virgula ou um sinal de igual em sua instrução SQL. Faça o seguinte teste. Coloque um memo no forumlario e no momento de executar a consulta ou atualizacao ao inves de executa-la, peça para mostrar a instrução sql no memo, assim você pode ver como ficou montada a instrução SQL e conferir o operadores.
[]
Oberdan :!:
[]
Oberdan :!:
GOSTEI 0