Olá, estou com este erro ao executa a procedure abaixo,
procedure TFrmConsProd.BtnOkClick(Sender: TObject);
var sLiga : string;
begin
sLiga:= 'WHERE';
if EdtCons.Visible then
sAuxString:= trim(EdtCons.Text);
if dm.IBTransaction.Active then
dm.IBTransaction.Commit;
dm.IBTransaction.StartTransaction;
with dm.QProd do
begin
close;
sql.Clear;
sql.Text:= sSql;
if ComboClassif.ItemIndex > 0 then
begin
sql.add('WHERE P.CODIGO_TIPO = :CODTIPO');
parambyname('codtipo').AsInteger:= strtoint(copy(ComboClassif.Text, 2, 2));
sLiga:= 'AND';
end;
if RdgAtivo.ItemIndex = 0 then
begin
sql.add(sLiga + ' P.ATIVO_PRO = ' + #39 + 'S' + #39);
sLiga:= 'AND';
end
else
if RdgAtivo.ItemIndex = 1 then
begin
sql.add(sLiga + 'P.ATIVO_PRO = ' + #39 + 'N' + #39);
sLiga:= 'AND';
end;
case combocons.ItemIndex of
0:begin
if EdtCons.Text = '' then
sql.add(' ORDER BY P.COD_PRO')
else
sql.add(sLiga + ' COD_PRO = ' + edtcons.Text);
end;
1:sql.add(sLiga + ' P.NOME_PRO LIKE ' + #39 + edtcons.Text + '%' + #39 + ' ORDER BY NOME_PRO');
2:sql.add(sLiga + ' P.REFERENCIA_PRO LIKE ' + #39 + edtcons.Text + #39);
3:sql.add(sLiga + ' P.CODIGO_BARRA_PRO LIKE ' + #39 + trim(edtcons.Text) + #39);
4:begin
if trim(EdtCod.Text) = '' then
begin
showmessage('Digite o código do fabricante');
EdtCod.SetFocus;
exit;
end;
sql.add(sLiga + ' P.COD_LAB = ' + edtcod.Text + ' ORDER BY P.NOME_PRO');
open;
end;
5:begin
if trim(EdtCod.Text) = '' then
begin
showmessage('Digite o código da seção');
EdtCod.SetFocus;
exit;
end;
sql.Add(sLiga + ' P.COD_SEC = ' + edtcod.Text + ' ORDER BY P.NOME_PRO');
end;
6:sql.add(sLiga + ' P.NOME_PRO LIKE ' + #39 + '%' + EdtCons.Text + '%' + #39 + ' ORDER BY NOME_PRO');
end;
Parambyname('codemp').AsInteger:= iEmp;
open;
end;
dbgrid.SetFocus;
end;