Quick Report
Qual as vantagens entre criar um relatorio com Quick Report, jogando o componente em um form comum ou criando um form proprio de relatorio ?
(utilizo forms MDI)
Abs
(utilizo forms MDI)
Abs
Felipeiw
Curtidas 0
Respostas
Adriano Santos
26/07/2007
Tamanho de executável?
Maior organização?
Cara, eu penso que jogar num outro form fica mais organizado, porque sinceramente eu tinha umas rotinas bem ruins onde trabalhava. O relatório no meio do form cheio de componentes e tals. É meio subjetivo discutir isso, na minha opnião.
Acho que os dois fatores acima contam bastante. ;)
Maior organização?
Cara, eu penso que jogar num outro form fica mais organizado, porque sinceramente eu tinha umas rotinas bem ruins onde trabalhava. O relatório no meio do form cheio de componentes e tals. É meio subjetivo discutir isso, na minha opnião.
Acho que os dois fatores acima contam bastante. ;)
GOSTEI 0
Felipeiw
26/07/2007
Adriano, me desculpe, nao sube colocar mh pergunta, eu estava querendo dizer o seguinte, para criar um relatorio com quick report vc pode iniciar criando um form normal e inserindo nele o componente TQuickRep, mas vc tb pode criar um relatorio utilizando a opcao File-New-Other-Report, criando dessa forma um form especifico para o Quick Report, diante dessas 2 opcoes é que eu gostaria de saber quais as vantagens e desvantagens, pois estive assistindo a videos aulas de vcs, e vezes usam de uma forma vezes de outra.
Abs e Obrigado
Abs e Obrigado
GOSTEI 0
Adriano Santos
26/07/2007
Adriano, me desculpe, nao sube colocar mh pergunta, eu estava querendo dizer o seguinte, para criar um relatorio com quick report vc pode iniciar criando um form normal e inserindo nele o componente TQuickRep, mas vc tb pode criar um relatorio utilizando a opcao File-New-Other-Report, criando dessa forma um form especifico para o Quick Report, diante dessas 2 opcoes é que eu gostaria de saber quais as vantagens e desvantagens, pois estive assistindo a videos aulas de vcs, e vezes usam de uma forma vezes de outra.
Abs e Obrigado
Ahhhh tah, sem crise. Agora entendi.
Sinceramente já tive diversos problemas com a criação de relatórios usando o File >> New >> Other >> Report. Particularmente prefiro adicionar o TQuickRep em um form, pois tenho maior domínio do formulário e do relatório.
GOSTEI 0
Felipeiw
26/07/2007
Firmeza Adriano,
Como vc faz para chamar o formulario que contem o quick report ? E como vc destroe ?
Os componentes de dados vc constuma deixar no formulario do quick report ? Onde vc coloca as ´regras de negocio´ do relatorio ?
Abs
Como vc faz para chamar o formulario que contem o quick report ? E como vc destroe ?
Os componentes de dados vc constuma deixar no formulario do quick report ? Onde vc coloca as ´regras de negocio´ do relatorio ?
Abs
GOSTEI 0
Adriano Santos
26/07/2007
Firmeza Adriano,
Como vc faz para chamar o formulario que contem o quick report ? E como vc destroe ?
procedure TForm1.Button1Click(Sender: TObject); begin FormRelatorio := TFormRelatorio.Create(Self); FormRelatorio.QuickReport.Preview; //ou FormRelatorio.QuickReport.Print; FormRelatorio.Free; end;
Aqui tenho maior domínio, podemo chamar funções escritas nos eventos do form se necessário enfim.
Os componentes de dados vc constuma deixar no formulario do quick report ? Onde vc coloca as ´regras de negocio´ do relatorio ?
Abs
Depende muito. Normalmente uso DataModule onde deixo grande parte de minhas regras de negócio armazenadas prontas para usar. Portanto ligo o QuickReport a este data modulo e ao TQuery que será usado.
Em alguns casos, mais simples, o componente TQuery ou qualquer outro da família Dataset que será usado, é colocado no form que chama a rotina e em alguns casos beeeeeemmmm específicios o Dataset fica no form do Quick. Muito raramente.
Nas próximas semanas estarei iniciando uma nova série de vídeo-aulas onde falarei sobre impressão. Apenas impressão. Aguarde.
Estou desenvolvendo uma aula sobre QuickReport.
Abs
GOSTEI 0
Felipeiw
26/07/2007
Beleza Adriano,
Ultima duvida, e sobre nao deixar o Dataset no formulario com o quick, estou testando agora um Group Header, na propriedade expression, no item database field, ele nao lista os datasets que estao no datamodule somente os que sao colocados no form com o quick, o datamodule esta declarado pois os campos estao sendo listados no detail, o que pode estar acontecendo?
Abs
Ultima duvida, e sobre nao deixar o Dataset no formulario com o quick, estou testando agora um Group Header, na propriedade expression, no item database field, ele nao lista os datasets que estao no datamodule somente os que sao colocados no form com o quick, o datamodule esta declarado pois os campos estao sendo listados no detail, o que pode estar acontecendo?
Abs
GOSTEI 0
Adriano Santos
26/07/2007
Beleza Adriano,
Ultima duvida, e sobre nao deixar o Dataset no formulario com o quick, estou testando agora um Group Header, na propriedade expression, no item database field, ele nao lista os datasets que estao no datamodule somente os que sao colocados no form com o quick, o datamodule esta declarado pois os campos estao sendo listados no detail, o que pode estar acontecendo?
Abs
Eu não se isso é um bug o Delphi ou do Quick...já aconteceu comigo diversas vezes. Você está com o Data Module aberto? Se estiver e ainda acontece o problema, então faça assim:
Clique duas vezes no TQuery que contém os campos que vão para o TQuickReport e com o Fields Editor aberto arraste para o form do QuickReport um ou mais campos. Depois retire o campo que você arrastou.
De vez em quando acontece isso mesmo. Mesmo adicionando o data module no form do quick dá isso. Depois de ter arrastado, os campos aparecerão na propriedade.
GOSTEI 0
Felipeiw
26/07/2007
Adriano nao funcionou, no meu caso eu tenho um clientdatset no formulario que chama o formulario do quick report, mas testei tambem com Querys do meu datamodule, eu arrasto os campos para o quick ele criar um datasource, eu os deleto mas a propriedade nao lista os datasets, estou utilizando delphi 7 com Quick 4.05.
Abs
Abs
GOSTEI 0
Adriano Santos
26/07/2007
Adriano nao funcionou, no meu caso eu tenho um clientdatset no formulario que chama o formulario do quick report, mas testei tambem com Querys do meu datamodule, eu arrasto os campos para o quick ele criar um datasource, eu os deleto mas a propriedade nao lista os datasets, estou utilizando delphi 7 com Quick 4.05.
Abs
Realmente, quando se faz isso um TDataSource é criado automaticamente. Retire-o e aponte a propriedade DataSet do TQuickRep para o TDataSource que está na tela que chama. Tem que dar certo.
Abs
GOSTEI 0
M
26/07/2007
Caro colega, Respondendo sua duvida:
´Ultima duvida, e sobre nao deixar o Dataset no formulario com o quick, estou testando agora um Group Header, na propriedade expression, no item database field, ele nao lista os datasets que estao no datamodule somente os que sao colocados no form com o quick, o datamodule esta declarado pois os campos estao sendo listados no detail, o que pode estar acontecendo?´
Para Listar o conteudo do Data Module no DataSet que está no quickReport, comigo funciona da seguinte maneira:
Eu abro o Data Module e em seguida abro o Form onde está o QuickReport, neste momento com os 2 (dois) form abertos no Delphi, ele já lista o conteudo do Data module no Dataset no form do relatório.
Espero ter ajudado.
Abraços
Maurício Bauer
´Ultima duvida, e sobre nao deixar o Dataset no formulario com o quick, estou testando agora um Group Header, na propriedade expression, no item database field, ele nao lista os datasets que estao no datamodule somente os que sao colocados no form com o quick, o datamodule esta declarado pois os campos estao sendo listados no detail, o que pode estar acontecendo?´
Para Listar o conteudo do Data Module no DataSet que está no quickReport, comigo funciona da seguinte maneira:
Eu abro o Data Module e em seguida abro o Form onde está o QuickReport, neste momento com os 2 (dois) form abertos no Delphi, ele já lista o conteudo do Data module no Dataset no form do relatório.
Espero ter ajudado.
Abraços
Maurício Bauer
GOSTEI 0
Felipeiw
26/07/2007
Galera agradeço por demais a paciencia e o auxilio de vcs, mas no meu caso nao aparece, deixando claro, nao aparece no group header, pois na propriedade Dataset do Quick Report ´aparece´, tanto que os dados estao sendo listados no quick report, mas nao consigo fazer a propriedade expression do Group Header, listar os Datasets, assim nao consigo fazer relatorios com agrupamento. Mas se eu jogar o ClientDataset no Form que contem o Quick Report ai sim funciona, mas isso fica ruim pois tenhos Datamodules e precisaria pegar deles.
Obrigado
Obrigado
GOSTEI 0
Adriano Santos
26/07/2007
Galera agradeço por demais a paciencia e o auxilio de vcs, mas no meu caso nao aparece, deixando claro, nao aparece no group header, pois na propriedade Dataset do Quick Report ´aparece´, tanto que os dados estao sendo listados no quick report, mas nao consigo fazer a propriedade expression do Group Header, listar os Datasets, assim nao consigo fazer relatorios com agrupamento. Mas se eu jogar o ClientDataset no Form que contem o Quick Report ai sim funciona, mas isso fica ruim pois tenhos Datamodules e precisaria pegar deles.
Obrigado
Quick 4.05 né? Vou ser se consigo um tempo pra fazer o teste aqui. Muito estranho.
GOSTEI 0