Mudanças de Dataset no DBGrid
Senhores,
Estou usando um :
- ADOConnection(conectado ao SQL2005); ADOQuery1; ADOQuery2 com DataSource1; DBGRid com DataSource2; DBNavigator.
Primeiramente a propriedade DataSource do DBGrid está em DataSource1 mostrando todo o conteúdo mas, quando dou um "Clic" no botão para o DataSouce2, ele não mostra nada!!
... DBNavigator1.DataSource.DataSet:= DataSource1.DataSet;
DBGrid1.DataSource.DataSet := DataSource1.DataSet;
... DBNavigator1.DataSource.DataSet:= DataSource2.DataSet;
DBGrid1.DataSource.DataSet := DataSource2.DataSet;
Desde já agradeço a atenção
Estou usando um :
- ADOConnection(conectado ao SQL2005); ADOQuery1; ADOQuery2 com DataSource1; DBGRid com DataSource2; DBNavigator.
Primeiramente a propriedade DataSource do DBGrid está em DataSource1 mostrando todo o conteúdo mas, quando dou um "Clic" no botão para o DataSouce2, ele não mostra nada!!
... DBNavigator1.DataSource.DataSet:= DataSource1.DataSet;
DBGrid1.DataSource.DataSet := DataSource1.DataSet;
... DBNavigator1.DataSource.DataSet:= DataSource2.DataSet;
DBGrid1.DataSource.DataSet := DataSource2.DataSet;
Desde já agradeço a atenção
Melquisedeque Silva,
Curtidas 0
Respostas
Alisson Santos
19/10/2012
Pelo que está informando você tem um datasource1 ligado ao grid, pelo que entendi o datasource2 não carrega pois não está fazendo a referencia ou manipulando os comandos para ele assumir a passagem de dados para o seu dbgrid.
O que precisa ser feito?
O que precisa ser feito?
GOSTEI 0
Melquisedeque Silva,
19/10/2012
Ok, aqui vai o código da Query1 e Query3. Eu selecionei no Obeject Inspector a propriedade DataSource do DBGrid com o DataSource1 "ligado" ao ADOConnectio1, sendo que para o ADOConnection3 esta ligação é feita via código como abaixo. Quando executo o ADOQuery1 ele me traz todas as informações, então agora eu executo o ADOQuery3 que funciona perfeitamente mas, quando eu volto outra vez para o ADOQuery1, "AÍ NÃO FUCNIONA MAIS COMO ANTES", não traz nenhuma informação:
procedure TfrmConciliaLiberSaldus.BitBtn2Click(Sender: TObject);
begin
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
if EditConta.Text = '1.1.2.13.01.0280' then // é ICMS
begin
ADOQuery1.SQL.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Add('SELECT A.IDMOV,A.IDLAF,A.DOCINI,A.IDNAT,D.CODNAT AS CODNAT,D.NOME AS DESCR,D.ID_EXERCICIO AS ID_EXERCICIO,E.CODTMV,C.LCTREF AS REF_SLD,A.DATALF AS DTLF_LIBER,A.DATAES AS DTES_LIBER,A.DATAEMISSAO AS DT_EMISSAO,');
ADOQuery1.SQL.Add('C.DATA AS DATA_SLD,C.VALOR AS VALOR_SLD,A.VALORICMS AS VALOR_LIBER,B.VALOR AS VALOR_TMC,B.CODCONTA as CONTA_TMC,C.DEBITO AS DEB_SLD,C.CREDITO AS CRED_SLD');
ADOQuery1.SQL.Add('FROM DLAF A, TMOVCONT B, CLANCA C,DNATUREZA D, TMOV E');
ADOQuery1.SQL.Add('WHERE A.IDMOV = E.IDMOV AND B.IDMOV = E.IDMOV AND B.LCTREFINT = C.LCTREF AND A.IDNAT = D.IDNAT AND C.DATA >= :pDataInicial AND C.DATA <= :pDataFinal AND A.STATUSLF = :pStatus AND B.CODCONTA = :pConta');
ADOQuery1.SQL.Add('ORDER BY A.DOCINI');
ADOQuery1.Parameters.ParamByName('pDataInicial').Value := StrToDateTime(Inicio);
ADOQuery1.Parameters.ParamByName('pDataFinal').Value := StrToDateTime(Final);
ADOQuery1.Parameters.ParamByName('pStatus').Value := EditStatus.Text;
ADOQuery1.Parameters.ParamByName('pConta').Value := EditConta.Text;
ADOQuery1.open;
end
END;
procedure TfrmConciliaLiberSaldus.BitBtn4Click(Sender: TObject);
begin
ADOQuery1.Close;
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
if EditConta.Text = '1.1.2.13.01.0281' then // é IPI
BEGIN
ADOQuery3.SQL.Clear;
ADOQuery3.Close;
ADOQuery3.SQL.Add('SELECT A.IDMOV,A.IDLAF,A.DOCINI,A.IDNAT,D.CODNAT AS CODNAT,D.NOME AS DESCR,D.ID_EXERCICIO AS ID_EXERCICIO,E.CODTMV,C.LCTREF AS REF_SLD,A.DATALF AS DTLF_LIBER,A.DATAES AS DTES_LIBER,A.DATAEMISSAO AS DT_EMISSAO,');
ADOQuery3.SQL.Add('C.DATA AS DATA_SLD,C.VALOR AS VALOR_SLD,A.VALORIPI AS VALOR_LIBER,B.VALOR AS VALOR_TMC,B.CODCONTA as CONTA_TMC,C.DEBITO AS DEB_SLD,C.CREDITO AS CRED_SLD');
ADOQuery3.SQL.Add('FROM DLAF A, TMOVCONT B, CLANCA C,DNATUREZA D, TMOV E');
ADOQuery3.SQL.Add('WHERE A.IDMOV = E.IDMOV AND B.IDMOV = E.IDMOV AND B.LCTREFINT = C.LCTREF AND A.IDNAT = D.IDNAT AND C.DATA >= :pDataInicial AND A.DATALF <= :pDataFinal AND A.STATUSLF = :pStatus AND B.CODCONTA = :pConta');
ADOQuery3.SQL.Add('ORDER BY A.DOCINI');
ADOQuery3.Parameters.ParamByName('pDataInicial').Value := StrToDateTime(Inicio);
ADOQuery3.Parameters.ParamByName('pDataFinal').Value := StrToDateTime(Final);
ADOQuery3.Parameters.ParamByName('pStatus').Value := EditStatus.Text;
ADOQuery3.Parameters.ParamByName('pConta').Value := EditConta.Text;
ADOQuery3.open;
DBNavigator1.DataSource.DataSet:= dtsIPI.DataSet;
DBGrid1.DataSource.DataSet := dtsIPI.DataSet;
end
end;
procedure TfrmConciliaLiberSaldus.BitBtn2Click(Sender: TObject);
begin
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
if EditConta.Text = '1.1.2.13.01.0280' then // é ICMS
begin
ADOQuery1.SQL.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Add('SELECT A.IDMOV,A.IDLAF,A.DOCINI,A.IDNAT,D.CODNAT AS CODNAT,D.NOME AS DESCR,D.ID_EXERCICIO AS ID_EXERCICIO,E.CODTMV,C.LCTREF AS REF_SLD,A.DATALF AS DTLF_LIBER,A.DATAES AS DTES_LIBER,A.DATAEMISSAO AS DT_EMISSAO,');
ADOQuery1.SQL.Add('C.DATA AS DATA_SLD,C.VALOR AS VALOR_SLD,A.VALORICMS AS VALOR_LIBER,B.VALOR AS VALOR_TMC,B.CODCONTA as CONTA_TMC,C.DEBITO AS DEB_SLD,C.CREDITO AS CRED_SLD');
ADOQuery1.SQL.Add('FROM DLAF A, TMOVCONT B, CLANCA C,DNATUREZA D, TMOV E');
ADOQuery1.SQL.Add('WHERE A.IDMOV = E.IDMOV AND B.IDMOV = E.IDMOV AND B.LCTREFINT = C.LCTREF AND A.IDNAT = D.IDNAT AND C.DATA >= :pDataInicial AND C.DATA <= :pDataFinal AND A.STATUSLF = :pStatus AND B.CODCONTA = :pConta');
ADOQuery1.SQL.Add('ORDER BY A.DOCINI');
ADOQuery1.Parameters.ParamByName('pDataInicial').Value := StrToDateTime(Inicio);
ADOQuery1.Parameters.ParamByName('pDataFinal').Value := StrToDateTime(Final);
ADOQuery1.Parameters.ParamByName('pStatus').Value := EditStatus.Text;
ADOQuery1.Parameters.ParamByName('pConta').Value := EditConta.Text;
ADOQuery1.open;
end
END;
procedure TfrmConciliaLiberSaldus.BitBtn4Click(Sender: TObject);
begin
ADOQuery1.Close;
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
if EditConta.Text = '1.1.2.13.01.0281' then // é IPI
BEGIN
ADOQuery3.SQL.Clear;
ADOQuery3.Close;
ADOQuery3.SQL.Add('SELECT A.IDMOV,A.IDLAF,A.DOCINI,A.IDNAT,D.CODNAT AS CODNAT,D.NOME AS DESCR,D.ID_EXERCICIO AS ID_EXERCICIO,E.CODTMV,C.LCTREF AS REF_SLD,A.DATALF AS DTLF_LIBER,A.DATAES AS DTES_LIBER,A.DATAEMISSAO AS DT_EMISSAO,');
ADOQuery3.SQL.Add('C.DATA AS DATA_SLD,C.VALOR AS VALOR_SLD,A.VALORIPI AS VALOR_LIBER,B.VALOR AS VALOR_TMC,B.CODCONTA as CONTA_TMC,C.DEBITO AS DEB_SLD,C.CREDITO AS CRED_SLD');
ADOQuery3.SQL.Add('FROM DLAF A, TMOVCONT B, CLANCA C,DNATUREZA D, TMOV E');
ADOQuery3.SQL.Add('WHERE A.IDMOV = E.IDMOV AND B.IDMOV = E.IDMOV AND B.LCTREFINT = C.LCTREF AND A.IDNAT = D.IDNAT AND C.DATA >= :pDataInicial AND A.DATALF <= :pDataFinal AND A.STATUSLF = :pStatus AND B.CODCONTA = :pConta');
ADOQuery3.SQL.Add('ORDER BY A.DOCINI');
ADOQuery3.Parameters.ParamByName('pDataInicial').Value := StrToDateTime(Inicio);
ADOQuery3.Parameters.ParamByName('pDataFinal').Value := StrToDateTime(Final);
ADOQuery3.Parameters.ParamByName('pStatus').Value := EditStatus.Text;
ADOQuery3.Parameters.ParamByName('pConta').Value := EditConta.Text;
ADOQuery3.open;
DBNavigator1.DataSource.DataSet:= dtsIPI.DataSet;
DBGrid1.DataSource.DataSet := dtsIPI.DataSet;
end
end;
GOSTEI 0