estou com um problema bem chato aqui... o tópico é longo por causa de uma parte do código, mas espero que possam ler e tentar me ajudar..
vou descrever na ordem em q as coisas acontecem...
Em um cadastro, eu dou um Append na tabela dm.ESTAPRO
procedure TfrmCadPro.btnNovoClick(Sender: TObject);
begin
dm.ESTAPRO.Append;
dm.ESTAPRO.Open;
end;
Aí resolvo cancelar a inclusão, dando um Cancel na tabela dm.ESTAPRO
procedure TfrmCadPro.btnCancelarClick(Sender: TObject);
begin
dm.ESTAPRO.Cancel;
end;
E depois disso, vou buscar um registro para altera-lo, dessa forma...
procedure TfrmCodigo.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
auxcod: string;
begin
if (Key = VK_RETURN) Then
begin
if frmCodigo.Caption = 'WINSUPERM - ALTERAÇÃO' then
begin
for i:=1 to txtCodigo.MaxLength - length(txtCodigo.Text) do
begin
txtCodigo.Text := '0' + txtCodigo.Text;
end;
with dm.QueryBuscaPro do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM ESTAPRO.dbf');
SQL.Add('WHERE PROCOD = :pCOD');
ParambyName('pCOD').AsString := txtCodigo.Text;
Open;
if (IsEmpty) then
begin
Application.MessageBox('CÓDIGO INEXISTENTE!!! ','WINSUPERM', MB_ICONERROR);
txtCodigo.SelectAll;
end
else
begin
auxcod := dm.QueryBuscaPro.FieldByName('PROCOD').AsString;
if dm.ESTAPRO.Locate('PROCOD', auxcod, []) then
begin
if dm.ESTAPRO.FieldByName('PROCOD').IsNull = False then
begin
frmCadPro.txtCadPro_CodPro.Text := dm.ESTAPRO.FieldByName('PROCOD').Value;
end;
if dm.ESTAPRO.FieldByName('PRODES').IsNull = False then
begin
frmCadPro.txtCadPro_Desc.Text := dm.ESTAPRO.FieldByName('PRODES').Value;
end;
if dm.ESTAPRO.FieldByName('PROQTD').IsNull = False then
begin
frmCadPro.txtCadPro_Estoque.Text := dm.ESTAPRO.FieldByName('PROQTD').Value;
frmCadPro.txtCadPro_Estoque.Text := FormatFloat('#,###,##0.000',StrToFloat(frmCadPro.txtCadPro_Estoque.Text));
end;
if dm.ESTAPRO.FieldByName('PROICM').IsNull = False then
begin
frmCadPro.cboCadPro_Icms.Text := dm.ESTAPRO.FieldByName('PROICM').Value;
frmCadPro.cboCadPro_Icms.Text := FormatFloat('#,###,##0.00',StrToFloat(frmCadPro.cboCadPro_Icms.Text));
end;
end;
end;
end;
frmCodigo.Close;
frmCadPro.txtCadPro_Mode.Caption := 'MODO ALTERAÇÃO';
frmCadPro.txtCadPro_CodPro.SetFocus;
dm.ESTAPRO.Edit;
end;
end;
end;
Acontece que se eu busco um registro que não possui nada no campo PROICM, ele acusa um erro dizendo ''' is not a valid floating point value.'
e marca na busca a linha sublinhada:
if dm.ESTAPRO.FieldByName('PROICM').IsNull = False then
Pergunta
Gabriel Cabral
Bom dia, amigos...
estou com um problema bem chato aqui... o tópico é longo por causa de uma parte do código, mas espero que possam ler e tentar me ajudar..
vou descrever na ordem em q as coisas acontecem...
Em um cadastro, eu dou um Append na tabela dm.ESTAPRO
Aí resolvo cancelar a inclusão, dando um Cancel na tabela dm.ESTAPRO E depois disso, vou buscar um registro para altera-lo, dessa forma...Acontece que se eu busco um registro que não possui nada no campo PROICM, ele acusa um erro dizendo ''' is not a valid floating point value.'
e marca na busca a linha sublinhada:
if dm.ESTAPRO.FieldByName('PROICM').IsNull = False then
begin
frmCadPro.cboCadPro_Icms.Text := dm.ESTAPRO.FieldByName('PROICM').Value;
frmCadPro.cboCadPro_Icms.Text := FormatFloat('#,###,##0.00',StrToFloat(frmCadPro.cboCadPro_Icms.Text));
end;
O que eu posso fazer pra consertar isso???
Muito obrigado
Editado por Gabriel CabralLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.