Somar cada linhas de duas colunas
17/08/2020
0
Tentei assim,mas não tenho ideia como fazer
Begin
If cksoma.checked then
Qrefsnecessidade.float := qrefsnecessidade.float + qrefscarteira.float;
Qrefs.close;
Qrefs.open;
End;
Elas são trabalhadas em cima de temporarias
Me ajudem por favor obrigado!
Bruno
Post mais votado
21/08/2020
se ainda não persistiu os campos, persista-os. isso é feito dando um duplo-clique no compoenente query; clique o botão direito da janela que vai abrir; clique em 'Add all fields' (pra isso funcionar o componente query precisa estar 'aberto'). depois de fazer isso pode 'fechar' o componente.
depois de adicionar os campos 'padrão', você precisará criar um campo calculado.
naquela mesma janelinha - que agora tem a relação de campos - clique com o botão direito e depois clique em 'New field'. preencha assim:
name: Resultado
type: (escolha o tipo adequado, no caso deve ser float ou currency)
size: (se for um campo numérico, deve estar inibido, se não estiver, coloque o tamanho necessário)
selecione o radio button 'Calculated' e confirme essa tela.
agora a parte da programação.
no objeto query, verifique se a pripriedade AutoCalcFields está marcada. Se não estiver, marque.
daí, no evento OnCalcFields, você faz assim:
procedure TFormX.SeuDataSet1CalcFields(DataSet: TDataSet); // aqui uma função somente para fazer o if() numa linha function iif(Condicao: boolean; ValorVerdadeiro: variant; ValorFalso: variant): variant; begin if Condicao then Result := ValorVerdadeiro else Result := ValorFalso; end; begin // agora irá atribuir a 'resultado' o valor de 'necessidade' acrescido ou não do valor de 'carteira'. SeuDatasetResultado.Value := SeuDatasetNecessidade.AsFloat + iif(CheckBox1.Checked, SeuDatasetCarteira.AsFloat, 0); end;
Emerson Nascimento
Mais Posts
18/08/2020
Alberto
Select Campo1, Campo2, Campo3, (Campo4 + Campo5) as MinhaSoma from Tabela
18/08/2020
Bruno
19/08/2020
Bruno
21/08/2020
Emerson Nascimento
explique como funciona; informe quais componentes de acesso ao banco; porque a sugestão de alterar a query não serve?
21/08/2020
Bruno
Isso não posso fazer pois preciso somar apenas as colunas quando clicar num checkbox e mostrar na coluna necessidade. Aguardo retorno,obrigado desde já !
21/08/2020
Emerson Nascimento
21/08/2020
Emerson Nascimento
você não pode criar uma outra coluna, por exemplo, resultado (somente leitura), e nessa coluna apresentar o valor somente de necessidade ou, quando quando clicar no checkbox, apresentar a soma de necessidade e carteira ?
ficaria assim:
checkbox DESmarcado
necessidade carteira resultado 14 11 14
checkbox marcado
necessidade carteira resultado 14 11 25
Clique aqui para fazer login e interagir na Comunidade :)