Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CristianoMedeiros

dbgrid no delphi

Recommended Posts

não estou conseguindo inserir o codigo do produto no dbgrid de um formulário caixadá a msg de 'Codigo do Produto deve ser informado!'estou usando o seguinte código para validar o codproduto da tabela itensvenda, onde eu acho que está o erro.

procedure TFrmCaixa.IBTableItens_VendaCOD_PRODUTOValidate(Sender: TField);var   Cod_Produto:integer;begin       if ibtableitens_vendacod_produto.asstring <> '' then       begin          cod_produto := ibtableprodutoscod_produto.asinteger;            if ibtableprodutos.locate('Cod_Produto',cod_Produto,[locaseinsensitive,lopartialkey]) then          begin             ibtableitens_vendavalor_venda.ascurrency:=ibtableprodutos.fieldbyname('Valor_venda').ascurrency;             ibtableitens_vendadescricao.asstring:=ibtableprodutos.fieldbyname('descrição').asstring;          end          else          begin              showmessage('código inválido');              abort;          end;     end;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta puxando o código da tabela ibtableprodutos e fazendo a validação na tabela IBTableItens_Venda, tente fazer a passagem do código para a variável Cod_produto usando a tabela IBTableItens_Venda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

alterei, agora está aparecendo a descrição do produto certo, porém agora está dando outra msg " codigo de venda inválida. eu acho que o erro está neste código:

procedure TFrmCaixa.RecalculaPedido;var  cod_venda:string;  TmpTable:TibTable;  Total:Currency;   // armazena valores do tipo moedabegin  TmpTable:=TibTable.Create(Application); // criar um objeto table via codificação  Try    // define database e tablename via codificação    TmpTable.Database:=ibTableItens_Venda.Database;    TmpTable.TableName:=ibTableItens_Venda.TableName;    TmpTable.Open;    cod_venda:=dbeditcod_venda.text;//edit referente a tabela venda.   if not tmptable.Locate('Cod_Venda',cod_venda,[locaseinsensitive,lopartialkey]) then           showmessage('Venda não encontrada');    Total:=0;   // inicializa a variável totalizadora    while (Not TmpTable.Eof)and(TmpTable.FieldByName('Cod_Venda').AsInteger=ibTableVendaCod_venda.AsInteger)do    begin      Total:=Total+(TmpTable.FieldByName('Valor_venda').AsCurrency * TmpTable.FieldByName('Quantidade').AsFloat);      TmpTable.Next; // próximo registro    end;  finally    TmpTable.Close;  // fecha a tabela    TmpTable.Free;   // libera objeto da memória  end;  StaticTextTotalvenda.Caption:=FormatCurr('###.###.##O,OO',Total);end;

me ajudem, por favor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.