GARANTIR DESCONTO

Fórum Quick Report #343714

26/07/2007

0

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


Felipeiw

Felipeiw

Responder

Posts

26/07/2007

Adriano Santos

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. ;)


Responder

Gostei + 0

26/07/2007

Felipeiw

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


Responder

Gostei + 0

26/07/2007

Adriano Santos

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.


Responder

Gostei + 0

26/07/2007

Felipeiw

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


Responder

Gostei + 0

26/07/2007

Adriano Santos

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


Responder

Gostei + 0

26/07/2007

Felipeiw

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


Responder

Gostei + 0

26/07/2007

Adriano Santos

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.


Responder

Gostei + 0

26/07/2007

Felipeiw

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


Responder

Gostei + 0

26/07/2007

Adriano Santos

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


Responder

Gostei + 0

26/07/2007

M

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


Responder

Gostei + 0

27/07/2007

Felipeiw

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


Responder

Gostei + 0

27/07/2007

Adriano Santos

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar