Fórum Validação de Produto #391131
24/11/2010
0
Pessoal
Delphi2010/Firebird
TABELA PRODUTOS
Controle Bigint not null (para atender cod barras modelo EAN-13).
Agora no formulário na hora de validar se o produto já existe, ele não consegue encontrar nenhum registro.
Parece que não é suportado 13 dígitos na variavel codProd (longint).
Alguem pode me dar uma ajuda.
vlw
procedure TfrmProduto.EditControleExit(Sender: TObject);
Var
codProd : longint;
begin
codProd := dm.TableProdutoCONTROLE.value; /// Digitado no form
dm.TableProduto.Cancel;
if dm.TableProduto.Locate('controle',codProd,[]) then
begin
dm.TableProduto.Edit;
editProduto.SetFocus;
end
else
begin
dm.TableProduto.Append;
dm.TableProduto.Edit;
dm.TableProdutoCONTROLE.value := codProd;
editProduto.SetFocus;
end;
end;
Delphi2010/Firebird
TABELA PRODUTOS
Controle Bigint not null (para atender cod barras modelo EAN-13).
Agora no formulário na hora de validar se o produto já existe, ele não consegue encontrar nenhum registro.
Parece que não é suportado 13 dígitos na variavel codProd (longint).
Alguem pode me dar uma ajuda.
vlw
procedure TfrmProduto.EditControleExit(Sender: TObject);
Var
codProd : longint;
begin
codProd := dm.TableProdutoCONTROLE.value; /// Digitado no form
dm.TableProduto.Cancel;
if dm.TableProduto.Locate('controle',codProd,[]) then
begin
dm.TableProduto.Edit;
editProduto.SetFocus;
end
else
begin
dm.TableProduto.Append;
dm.TableProduto.Edit;
dm.TableProdutoCONTROLE.value := codProd;
editProduto.SetFocus;
end;
end;
Marcos Roberto
Curtir tópico
+ 0
Responder
Posts
24/11/2010
Leonardo Xavier
tente acrescentar o seguinte:
.
.
.
if dm.TableProduto.Locate('controle',codProd,[loCaseInsensitive]) then
.
.
.
Responder
Gostei + 0
24/11/2010
Wilson Junior
Isto ocorre porque o TableProdutoCONTROLE deve estar declardo como TIntegerField.
Tente trocar para TLargeintField.
Espero ter colaborado.
Tente trocar para TLargeintField.
Espero ter colaborado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)