GROUP HEADER EM DATA REPORT

FGSANTOS 16/03/2005 17:15:36
#73273
Amigos,

Tenho que fazer um relatório em Data Report onde terei que usar um Group Header. Fiz a sql certa, mas na hora de abrir o rpt dá um erro:

Report Sections do not match Data Source, ou
Seçoes do relatório não conferem com conexão.

Uso o MySQL, e o módulo gráfico Front MySQL, onde coloco a mesma SQL e me retorna os campos no formato que preciso:

Codigo do produto, descricao, codigo de barras, unidade, valor de venda, departamento.

Neste caso, quero que o Group Header me retorne no relatório agrupando pelos departamentos.

Antes que alguem pergunte, não preciso de um Group By na SQL, pois o relatório é que tem que agrupar os departamentos e exibir no Header o departamento e logo abaixo todos os produtos deste departamento.

Grato,

Flávio.
USUARIO.EXCLUIDOS 16/03/2005 21:01:56
#73307
Resposta escolhida
Pois é Flávio, está tudo muito certo, só que o DataReport, não trabalha própriamente como você quer, mas sim como ele foi concebido para trabalhar(brincadeira,hem!).
E para você ter um GroupHeader, tem que ter uma Recordset hierarquica, onde uma das partes serve para prencher exactamente o GroupHeader e a outra o detalhe.
E o que ele lhe está a dizer é, exactamente que não tem fonte de dados para preencher o Cabeçalho(GroupHeader).
E como é que isso se consegue?

- Uma forma é utilizar o DataEnvironment através de um Command (para preencher o Cabeçalho) e de um CommandChild(para prencher o detalhe)

-Outra é, por código e usando o command Shape, construir uma recordset hierárquica exactamente igual à  que é construída pelo DataEnvironment.

Aqui mesmo, no site, na secção de códigos, tem muitos exemplos de como trabalhar com o DataReport com e sem DataEnvironment e se quizer dar uma vista de olhos na minha página também tem lá exemplos para trabalhar com o mesmo(só que utilizando access).
FGSANTOS 17/03/2005 11:29:28
#73375
Você tinha razão. O meu DataEnvironment estava errao. Os campos que devem preencher o Group Header estavam como Child dos campos que devem preencher o Detail.

Fiz a alteração, coloquei certinho agora. Mas apareceu outra mensagem: Failed getting Rowset(s) from DataBase.

Peguei um exemplo aqui do site e rodou certo. Pensei que o meu problema fosse de relacionamento das tabelas, mas o exemplo que peguei não tem relacionamento algum. O relacionamento é feito pelo Child do DataEnvironment, correto????

Qual o motivo provável desta nova mensagem?
Será que o problema é com o MySQL?

Grato pela primeira dica, foi muito útil.
FGSANTOS 17/03/2005 11:42:49
#73383
João, este erro foi porque coloquei Share Deny None e não conectou no banco.
FGSANTOS 17/03/2005 11:45:23
#73384
Será que o erro é causado pelo MySQL? Utilizo a versão 4.0.21, que lendo no manual, vi que não tem suporte para relacionamento de tabelas no formato MyISAM (meu caso), somente para tabelas no formato InnoDB. Pode ser esse o motivo, concorda?
FGSANTOS 17/03/2005 12:12:40
#73390
Meu, foi erro meu. Funcionou.
Tópico encerrado , respostas não são mais permitidas