GARANTIR DESCONTO

Fórum Subselect + DbGrid #563078

27/09/2016

0

Olá Pessoal.
Sou novo por aqui, assim como em Programação.
Estou tentando utilizar uma sentença que contem uma subtração de subselects. Em que esta resulta em um campo Virtual.
Porem estou tentando fazer com que este campo virtual apareça no DBGRID, mas isto não esta acontecendo.
Já revirei tudo e não achei nada que pudesse me ajudar.
a sentença que estou utilizando é esta:

strsql: string;
begin
if ComboBox1.ItemIndex=0 then
begin
strsql:=' select tblcdsite0.iditem, (tblcdsite0.nomepro),tblmvmfat0.idcoi,tblmvmfat0.idempresa, ';
strsql:=strsql+' sum(tblmvmite0.qtde) QTDE,(select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 ';
strsql:=strsql+' inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent) ';
strsql:=strsql+' where ((tblmvmfat0.entsai = ''S'' and tblmvmite0.iditem in ('+Edit2.Text+') AND tblmvmfat0.idcoi in ('+Edit3.Text+'))))- ';
strsql:=strsql+' (select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent) ';
strsql:=strsql+' where ((tblmvmfat0.entsai = ''E'' and tblmvmite0.iditem in ('+Edit2.Text+') AND tblmvmfat0.idcoi in ('+Edit3.Text+'))))as SALDO ';
strsql:=strsql+' from tblmvmfat0 inner join tblmvmite0 on (tblmvmfat0.idfatent = tblmvmite0.idfatent)';
strsql:=strsql+' inner join tblcdsite0 on (tblmvmite0.iditem = tblcdsite0.iditem) ';
strsql:=strsql+' where tblcdsite0.iditem in ('+Edit2.Text+') AND tblmvmfat0.idcoi in ('+Edit3.Text+') and tblmvmfat0.entsai IN (''E'') ';
strsql:=strsql+' And tblmvmfat0.idempresa in ('+Edit1.Text+') group by tblcdsite0.iditem, tblmvmfat0.idcoi, tblcdsite0.nomepro, tblmvmfat0.idempresa, SALDO ';

IBDataSet1.SelectSQL.Clear;
IBDataSet1.SelectSQL.Add(strsql);
IBDataSet1.Open;
Unit2.Form2.ShowModal;

Grato desde já.
Alan Junior

Alan Junior

Responder

Post mais votado

27/09/2016

Olá Alan,

Provavelmente esse campo não está no Fields Editor do seu IBDataSet1. Tente colocar esse select inteiro dentro do IBDataSet, acesse o fields editor (botão direito no componente) e "add all fields". Aí pode retirar a parte "dinâmica" da consulta, como o edit.text para não dar erro quando for abrir o dataset.

Jones

Jones Granatyr

Jones Granatyr
Responder

Gostei + 2

Mais Posts

28/09/2016

Alan Junior

Olá, bom dia Jones, é com satisfação imensa que venho lhe agradecer por me ajudar. fiz como me indicou e deu certo.
Agora posso entregar o produto ao meu cliente.
Responder

Gostei + 0

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

Aceitar