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:
Grato desde já.
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
Curtir tópico
+ 0
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
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
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.
Agora posso entregar o produto ao meu cliente.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)