Ir para conteúdo

POWERED BY:

Arquivado

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

Wilke1

Dbgrid

Recommended Posts

ola pessoal ,estou tentando fazer esse calcula usando o dbgrid no evento do campo, mas dar um erro complicado

estou tentando fazer assim

 

procedure TFmControMesa.QryitensVL_PRECOChange(Sender: TField);
var
Calc:Real;
teste:string;
QT:String;
Preco:String;
begin
  inherited;
    teste:='teste';
    //QryItens.FieldByName('cd_mesa').Value:=QryMesaCad.FieldByName('cd_mesa').Value;
    QT:= QryItens['QT_PEDIDA'] * QryItens['VL_PRECO'];
   // Preco:=QryItens['VL_PRECO'];
 //   Calc:= QT * Preco;
  //  Calc:=QryItens['QT_PEDIDA'] * QryItens['VL_PRECO'];
    QryItens['VL_PED_TOTAL']:=QT;
desde ja agradeço pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não executa este cálculo no próprio select de busca dos dados? Ficaria algo assim:

 

SELECT CD_MESA, QT_PEDIDA, VL_PRECO, (QT_PEDIDA * VL_PRECO) AS VL_PED_TOTAL
FROM TABELA

Ps.: uma query não aceita este tipo de atribuição de valores QryItens['VL_PED_TOTAL']:=QT;

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não executa este cálculo no próprio select de busca dos dados? Ficaria algo assim:

 

SELECT CD_MESA, QT_PEDIDA, VL_PRECO, (QT_PEDIDA * VL_PRECO) AS VL_PED_TOTAL
FROM TABELA

Ps.: uma query não aceita este tipo de atribuição de valores QryItens['VL_PED_TOTAL']:=QT;

 

[]'s

amigo será que não existe uma forma de fazer esse calculo direito na linha do dbgrid?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existir até existe, eu só não lembro agora como fazer... mas porque você não usa a query de busca para trazer este valor já calculado como eu sugeri? Por qual razão você quer fazer o cálculo em runtime dentro do grid??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existir até existe, eu só não lembro agora como fazer... mas porque você não usa a query de busca para trazer este valor já calculado como eu sugeri? Por qual razão você quer fazer o cálculo em runtime dentro do grid??

e porque esse dbgrid vai ser usado como orçamento e no final dos itens inseridos ele dará o total em baixo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai por o total dentro do grid?? Ou num campo fora dele? Se for fora, você poderia dar um sum nos valores via sql e jogar neste campo sempre que inserisse ou retirasse algum valor do grid... acho que seria mais simples.

 

Qual banco de dados está usando? Se for o sql server posso ajudar a montar uma procedure para isto.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai por o total dentro do grid?? Ou num campo fora dele? Se for fora, você poderia dar um sum nos valores via sql e jogar neste campo sempre que inserisse ou retirasse algum valor do grid... acho que seria mais simples.

 

Qual banco de dados está usando? Se for o sql server posso ajudar a montar uma procedure para isto.

 

[]'s

valeu amigo obrigado eu consegui fazer , mas aproveitando a oportunidade, gostaria de saber , como cancelar um setfocus?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde sei não tem como cancelar um setfocus... o que pode-se fazer é algum teste para executar o comando ou não se há situações que não se usa ele.

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.