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;

Marcos Roberto

Marcos Roberto

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.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar