Validação de Produto

Delphi

24/11/2010

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;

Marcos Roberto

Marcos Roberto

Curtidas 0

Respostas

Leonardo Xavier

Leonardo Xavier

24/11/2010

tente acrescentar o seguinte:

   . 
   . 
   .

if dm.TableProduto.Locate('controle',codProd,[loCaseInsensitive]) then

   .
   . 
   .

GOSTEI 0
Wilson Junior

Wilson Junior

24/11/2010

Isto ocorre porque o TableProdutoCONTROLE deve estar declardo como TIntegerField.
Tente trocar para TLargeintField.

Espero ter colaborado.
GOSTEI 0
POSTAR