Olá pessoal!
Estou com um probleminha muito estranho!
Utilizo a versão 7.0 (Build 4.453) do Delphi e não tinha o problema
abaixo sitado com a versão 6.

Tenho duas tabelas: COBRANCA e ITEM_COBRANCA e utilizo os componentes
SQLDataSet, DataSetProvider e ClientDataSet para o acesso das mesmas.

As query utilizadas nos SQLDataSet são:

Para a tabela COBRANCA
----------------------

SELECT
  T1.ID_COBRANCA,
  T1.VL_MES_REFERENCIA,
  T1.VL_ANO_REFERENCIA,
  T1.DT_CADASTRO,
  T1.DT_VENCIMENTO,
  T1.VL_DESCONTO,
  T1.VL_ACRESCIMO,
  T1.DS_FECHADA,
  T1.ID_CLIENTE,
  T3.NM_CLIENTE,
  SUM(T2.VL_CONTA) AS VL_TOTAL,
  SUM(T2.VL_CONTA) + (T1.VL_ACRESCIMO - T1.VL_DESCONTO) AS VL_TOTAL_PAGAR
FROM COBRANCA T1
INNER JOIN ITEM_COBRANCA T2 ON (T1.ID_COBRANCA = T2.ID_COBRANCA)
INNER JOIN CLIENTE T3 ON (T1.ID_CLIENTE = T3.ID_CLIENTE)
GROUP BY
  T1.ID_COBRANCA,
  T1.VL_MES_REFERENCIA,
  T1.VL_ANO_REFERENCIA,
  T1.DT_CADASTRO,
  T1.DT_VENCIMENTO,
  T1.VL_DESCONTO,
  T1.VL_ACRESCIMO,
  T1.DS_FECHADA,
  T1.ID_CLIENTE,
  T3.NM_CLIENTE
ORDER BY
  T1.VL_MES_REFERENCIA,
  T1.VL_ANO_REFERENCIA,
  T1.DT_VENCIMENTO,
  T1.ID_COBRANCA

Para a tabela ITEM_COBRANCA
---------------------------
SELECT *
FROM ITEM_COBRANCA
WHERE ID_COBRANCA =:ID_COBRANCA
ORDER BY NR_ITEM

Na cláusula WHERE, recebo ID_COBRANCA como parâmetro que é o campo
ID_COBRANCA (T1.ID_COBRANCA) da tabela COBRANCA (COBRANCA T1). Para
isso, linkei a minha tabela ITEM_COBRANCA através da Propriedade
DataSource do componente SQLDataSet que acessa ela (ITEM_COBRANCA),
com o nome do DataSource que acessa a tabela COBRANCA, ou seja, meu
SQLDataSet da tabela ITEM_COBRANCA consegue enchergar e receber como
parâmetro, todos os campos obtidos através do SELECT na tabela COBRANCA.
Os DataSource ficam no próprio formulário de Cobrança com os DataSet
(DS_COBRANCA e DS_ItemCobranca) acessando os ClientDataSet em um
DataMudule, pois os Componentes SQLDataSet, DataSetProvider e
ClientDataSet estão lá.
Os Itens de uma determinada Cobrança, são exibidos sem nenhum problema
até o formulário ser fechado, quando abro novamente, os Itens
referentes a mesma, não são mais exibidos corretamente, parece que o
link foi perdido.
Isso só acontece se os componentes estiverem dentro de um Data Module
mas se estiverem no próprio formulário de Cobrança, isso não acontece.
Alguém pode me dá uma ajudinha???
Desde já, obrigado.

Abraço,

Cristiano.

Responder a