Extravasamento da pilha processo stopped..
Bom! Tudo o que eu queria era o seguinte: 1º o que eu tenho, uma tabela paradox com os campos código tipo N, Referencia tipo A, datapag tipo D e valorpag tipo $. Então no formulário eu tenho um botão imprimir quando click nele aparece um outro form com dois maskedit onde eu quero informar uma data inicial e uma data final para sair no quickrep só aquele período que eu quero. Me deram essa dica no fórum, mais continua não dando certo agora com essa mensagem de erro, o que isso? Alguém já viu e pode me ajudar?
O codigo e esse o erro esta mais abaixo(o erro ocorre em tempo de execução)
var
Pesq:String; // campo a ser pesquisado
Begin
Pesq := ´datapag´;
if (MaskEdit1.Text = ´ / / ´) or (MaskEdit2.Text = ´ / / ´) then
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.Sql.Clear;
Query1.SQL.Add(´Select * from reccond´);
Query1.SQL.Add(´Where ´+Pesq+´ between :Inicio and :Final´);
Query1.SQL.Add(´Order By ´+Pesq);
Query1.ParamByName(´Inicio´).AsDate:=StrToDate (MaskEdit1.text);
Query1.ParambyName(´Final´).AsDate:=StrToDate (MaskEdit2.text);
Query1.Prepare; // devido alteração na query em tempo de execução
Query1.Open;
F_relrectaxa:= F_relrectaxa.Create(Self);
F_reltaxa.QuickRep1.Preview;
end;
end;
O erro
´ project admincondo1.exe raised exception class estackoverflow with message ´extravasamento da pilha processo stopped use step on run to continue ´
Obrigado
wagnernormando@ig.com.br
O codigo e esse o erro esta mais abaixo(o erro ocorre em tempo de execução)
var
Pesq:String; // campo a ser pesquisado
Begin
Pesq := ´datapag´;
if (MaskEdit1.Text = ´ / / ´) or (MaskEdit2.Text = ´ / / ´) then
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.Sql.Clear;
Query1.SQL.Add(´Select * from reccond´);
Query1.SQL.Add(´Where ´+Pesq+´ between :Inicio and :Final´);
Query1.SQL.Add(´Order By ´+Pesq);
Query1.ParamByName(´Inicio´).AsDate:=StrToDate (MaskEdit1.text);
Query1.ParambyName(´Final´).AsDate:=StrToDate (MaskEdit2.text);
Query1.Prepare; // devido alteração na query em tempo de execução
Query1.Open;
F_relrectaxa:= F_relrectaxa.Create(Self);
F_reltaxa.QuickRep1.Preview;
end;
end;
O erro
´ project admincondo1.exe raised exception class estackoverflow with message ´extravasamento da pilha processo stopped use step on run to continue ´
Obrigado
wagnernormando@ig.com.br
Wagner
Curtidas 0
Respostas
Wagner
04/01/2004
Caramba ninguem sabe essa?
GOSTEI 0
Rodolpho123
04/01/2004
Bem, tente declarar os valores de ´início´ e ´final´ bem no início do bloco, como variáveis, e também vai uma dica: Sempre que eu faço uma abertura de tabela usando uma Query e em seguida eu mando executar um QuickReport.PreviweModal, 90¬ dos casos o formulário sai em branco, devido ao QR abrir mais rápido que a Query, então o que eu faço, só mando executar um QuickReport.PreviewModal quando eu realmente tenho certeza de que a Query está completamente aberta.
Abraços e espero te-lo ajudado
Abraços e espero te-lo ajudado
GOSTEI 0
Wagner
04/01/2004
Na teoria esta certo, mais na pratica como sou iniciante ainda continuo sem saber como fazer
GOSTEI 0
Wagner
04/01/2004
Socorro tá dificil, por favor alguem pode analizar esse codigo acima e ver o que eu estou fazendo errado, eu so quero de uma tabela com codigo, datapag, referencia e valorpag dai abrir um pequeno form com 2 maskedit __/__/___ a ___/___/____ e informa um periodo que eu quero imprimir. Alguem pode me ajudar?
GOSTEI 0
Wagner
04/01/2004
Socorro....
GOSTEI 0
Marco Salles
04/01/2004
if (MaskEdit1.Text = ´ / / ´) or (MaskEdit2.Text = ´ / / ´) then
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.disablecontrols;
Query1.Close;
Query1.SQL.Clear;
Query1.Sql.Add(´Select * from reccond´);
Query1.Sql.Add(´Where datapag>=:Datainicial´);
Query1.ParamByName(´datainicial´).asdate:=strtodate(Maskedit1.text);
Query1.Sql.Add(´And datapag<=:DataFinal´);
Query1.ParamByName(´DataFinal´).asdate:=strtodate(maskedit2.text);
Query1.Prepare;
Query1.open;
Query1.EnableControls;
end;//Fim do Else
end;
Apos Esta Consulta Se Voce Tiver Um DbGrid No Formulário Ele Apresentará o Conteúdo Da Pesquisa, Que Foi Limitado Pelas Datas Contidas Nos Componentes MaskEdit...
Com Isto Voce Deve Ter Um Outro Botão Para Selecionar o Formulário Do QuickReport. Com Isto Voce Evita Que o Quick Report Abra Em Branco
Como Foi Levantado Pelo Nosso Colega ´rodolpho123´...Se Der Tudo Certo, O Próximo Passo é Trabalhar Para Evitar Datas Inválidas No MaskEdit.Isto Já é Um Outro Problema
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.disablecontrols;
Query1.Close;
Query1.SQL.Clear;
Query1.Sql.Add(´Select * from reccond´);
Query1.Sql.Add(´Where datapag>=:Datainicial´);
Query1.ParamByName(´datainicial´).asdate:=strtodate(Maskedit1.text);
Query1.Sql.Add(´And datapag<=:DataFinal´);
Query1.ParamByName(´DataFinal´).asdate:=strtodate(maskedit2.text);
Query1.Prepare;
Query1.open;
Query1.EnableControls;
end;//Fim do Else
end;
Apos Esta Consulta Se Voce Tiver Um DbGrid No Formulário Ele Apresentará o Conteúdo Da Pesquisa, Que Foi Limitado Pelas Datas Contidas Nos Componentes MaskEdit...
Com Isto Voce Deve Ter Um Outro Botão Para Selecionar o Formulário Do QuickReport. Com Isto Voce Evita Que o Quick Report Abra Em Branco
Como Foi Levantado Pelo Nosso Colega ´rodolpho123´...Se Der Tudo Certo, O Próximo Passo é Trabalhar Para Evitar Datas Inválidas No MaskEdit.Isto Já é Um Outro Problema
GOSTEI 0
Wagner
04/01/2004
Desculpe-me a insistencia, pelo o que eu entendi alem de dois maskedit para informar as data tem que ter um dbgrid? ok! esse condigo eu informo aonde? em que evento do form ou botao?
Obrigado
Obrigado
GOSTEI 0
Marco Salles
04/01/2004
O DbGrid Não É Obrigatório.Mas é Interresante Para Você Visualizar Os Dados. Para Voce Ver O Resultado De Sua Pesquisa.Você Pode Colocar O DbGrid No Form ,Selecionando Suas Propiedades Correta, e Depois Elimina-lo, Se For o Caso. Quanto Ao Código, Voce Pode Informar No Evento OnClick De Um Botão.
P:S : O Primeiro Passo Que Voce Tem Que Fazer é Visualizar O Resultado De Sua Pesquisa e Depois, Imprimir o Relatório.Porque o Seu Problema Pode Estar Na Definição Do QuickReport e Naõ Na Sua Pesquisa.
Concluido a Pesquisa e Se Der Tudo Certo, Como eu Acredito Que Irá Dar , Aí Sim , Voce Vai Se Preocupar Com a Impressão Dos Dados.
P:S : O Primeiro Passo Que Voce Tem Que Fazer é Visualizar O Resultado De Sua Pesquisa e Depois, Imprimir o Relatório.Porque o Seu Problema Pode Estar Na Definição Do QuickReport e Naõ Na Sua Pesquisa.
Concluido a Pesquisa e Se Der Tudo Certo, Como eu Acredito Que Irá Dar , Aí Sim , Voce Vai Se Preocupar Com a Impressão Dos Dados.
GOSTEI 0
Wagner
04/01/2004
Valeu.. :D Vou tentar agora mesmo te dou um retorno assim que puder, mais uma vez obrigado pela ajuda, paciencia e atenção
Um abraço
´Saúde e Paz o resto agente corre atraz ´
Um abraço
´Saúde e Paz o resto agente corre atraz ´
GOSTEI 0
Marco Salles
04/01/2004
E AÍ Wagner :?: Tudo Certo :?:
GOSTEI 0
Wagner
04/01/2004
Eu novamente, coloquei desta forma, não deu erro ao compilar mas quando informo a data nao acontece nada..nem erro! so quando eu nao informo nenhuma data ai ele diz ´ / / data invalida´ o que eu estou fazendo de errado? esquecendo de colocar? como fica o dbgrid? com as propriedades do table? estou todo confuso! iniciante apanha mesmo, pior quando não conhece SQL.
procedure TF_relrectaxa.BitBtn1Click(Sender: TObject);
//não ficou faltando declarar nenhuma variavel????
begin
if (MaskEdit1.Text = ´ / / ´) or (MaskEdit2.Text = ´ / / ´) then
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.disablecontrols;
Query1.Close;
Query1.SQL.Clear;
Query1.Sql.Add(´Select * from reccond´);
Query1.Sql.Add(´Where datapag>=:Datainicial´);
Query1.ParamByName(´datainicial´).asdate:=strtodate(Maskedit1.text);
Query1.Sql.Add(´And datapag<=:DataFinal´);
Query1.ParamByName(´DataFinal´).asdate:=strtodate(maskedit2.text);
Query1.Prepare;
Query1.open;
Query1.EnableControls;
end;
end;
procedure TF_relrectaxa.BitBtn1Click(Sender: TObject);
//não ficou faltando declarar nenhuma variavel????
begin
if (MaskEdit1.Text = ´ / / ´) or (MaskEdit2.Text = ´ / / ´) then
ShowMessage(´Voce Tem que Digitar as Datas´)
else
begin
Query1.disablecontrols;
Query1.Close;
Query1.SQL.Clear;
Query1.Sql.Add(´Select * from reccond´);
Query1.Sql.Add(´Where datapag>=:Datainicial´);
Query1.ParamByName(´datainicial´).asdate:=strtodate(Maskedit1.text);
Query1.Sql.Add(´And datapag<=:DataFinal´);
Query1.ParamByName(´DataFinal´).asdate:=strtodate(maskedit2.text);
Query1.Prepare;
Query1.open;
Query1.EnableControls;
end;
end;
GOSTEI 0
Wagner
04/01/2004
Aguardando.....
GOSTEI 0
Marco Salles
04/01/2004
Vamos Por Partes. No Seu Formulário Entre Outras Coisas Deve Ter:Um Query(e Não Um Table), Um DataSource,Um DbGrid, Dois MaskEdit,Um Botão(Para Realisar a Pesquisa).No Query Selecionar (Propiedades DataBaseName<Caminho Onde Esta Sua Tabela Paradox>, e a Propriedade Sql , Escreva ´Select *From NOMEDASUATABELA´. Para Saber Em Tempo De Projeto Se Esta Tubo Bem Selecione a Propiedade Active:=True Do Query.(Voce Não Pode Receber Nenhuma Mensagem De Erro).Ok?.Selecione Agora A Propiedade DataSet:=Query1 Do DataSoure1. E Finalmente a Propiedade DataSouce:=DataSource1 Do
DbGrid. A Sua Tabela Escrita No Parardox Tem Que Aparecer No DbGrid.O Que Irá Limitar o Conteúdo Dos Valores Apresentados Pelo DbGid Em Tempo De Execução Será a Sua Pesquisa( Que Será Executada Pelo Evento ONClik Do Botão). Escreva o Código No Botão , e Mande Rodar. Não Tem Jeito De Dar Errado. Agora Isto Não Tem Nada a Ver Com a Impressão, Que Deve Ser Realosado No Formulário A Parte.Voce Tem Que Previnir Contra Datas Invalidas No MaskEdit(Mas Tambem é Uma Outra Parte).Continue Tentando, Voce Esta No Caminho Certo, E Entre Em Contato o Mais Rápido Possível.
P:S Quando eu Falo o Caminho Da Sua Tabela é Para Selecionar o Nome Da Aliase. Se Ainda Não Tiver Um Aliase, Não Tem Problema, Digite o Diretorio Onde Esta Armazenado Sua Tabela. Exemplo:C:\NomeDo Arquivo.....Etc....
Obs: Mas a Criacao De Um Aliase é Fácil e De Muita Importancia.
DbGrid. A Sua Tabela Escrita No Parardox Tem Que Aparecer No DbGrid.O Que Irá Limitar o Conteúdo Dos Valores Apresentados Pelo DbGid Em Tempo De Execução Será a Sua Pesquisa( Que Será Executada Pelo Evento ONClik Do Botão). Escreva o Código No Botão , e Mande Rodar. Não Tem Jeito De Dar Errado. Agora Isto Não Tem Nada a Ver Com a Impressão, Que Deve Ser Realosado No Formulário A Parte.Voce Tem Que Previnir Contra Datas Invalidas No MaskEdit(Mas Tambem é Uma Outra Parte).Continue Tentando, Voce Esta No Caminho Certo, E Entre Em Contato o Mais Rápido Possível.
P:S Quando eu Falo o Caminho Da Sua Tabela é Para Selecionar o Nome Da Aliase. Se Ainda Não Tiver Um Aliase, Não Tem Problema, Digite o Diretorio Onde Esta Armazenado Sua Tabela. Exemplo:C:\NomeDo Arquivo.....Etc....
Obs: Mas a Criacao De Um Aliase é Fácil e De Muita Importancia.
GOSTEI 0
Wagner
04/01/2004
Caro colega, em primeiro quero agradecer. são explicações bem detalhadas como a sua que facilita a vida dos iniciantes.
Bom! mais ainda estou fazendo alguma coisa errada coloquei uma query no meu form, No Query Selecionei (Propiedades DataBaseName o caminho onde esta minha Tabela Paradox, e a Propriedade Sql , Escrevi ´Select *From reccond´. Selecionei a Propiedade Active:=True do Query(nenhuma mensagem de erro). So que agora vem o problema, no datasouce1 na Propiedade DataSet que é para ser :=Query1 não esta aparecendo o query1, o que eu estou esqucendo de fazer?
Bom! mais ainda estou fazendo alguma coisa errada coloquei uma query no meu form, No Query Selecionei (Propiedades DataBaseName o caminho onde esta minha Tabela Paradox, e a Propriedade Sql , Escrevi ´Select *From reccond´. Selecionei a Propiedade Active:=True do Query(nenhuma mensagem de erro). So que agora vem o problema, no datasouce1 na Propiedade DataSet que é para ser :=Query1 não esta aparecendo o query1, o que eu estou esqucendo de fazer?
GOSTEI 0
Marco Salles
04/01/2004
Isto Seria Quase Que Imediato.(Seria Uma Opção ÚNICA). Mas o Que Acho Que Você Deve Te Feito Que Daria Um ´Erro´ Deste Tipo, e Alem Das Propiedades Que Lhe Sugeri, Voce Deve Ter Selecionado a Propiedade DataSource Do QUERY1.[color=red:1f25bb204b]ESTA PROPRIEDADE PARA ESTE EXEMPLO ESPECÍFICO [/color:1f25bb204b]NÃO PODE ESTAR CONFIGURADA COM NENHUM VALOR.TIRE ESTE VALOR DESTA PROPIEDADE SE FOR O CASO E AI VOCE VAI TER A OPÇÃOP DE QUERY1 NO DATASET DO DATASOURCE.Foi Claro :?:
GOSTEI 0
Wagner
04/01/2004
:D :D :D :D :D :D Colega, valeu mesmo deu certinho agora.
Ai...... galera do forum quem tiver esse mesmo problema pode seguir essa dica que quente.
:lol: Ops! ainda tenho um problema como imprimir? como jogar os dados selecionados para o quickrep1?
:lol: Ainda pode me ajudar?
Ai...... galera do forum quem tiver esse mesmo problema pode seguir essa dica que quente.
:lol: Ops! ainda tenho um problema como imprimir? como jogar os dados selecionados para o quickrep1?
:lol: Ainda pode me ajudar?
GOSTEI 0
Marco Salles
04/01/2004
Vamos Tentar.O Primeiro Passo Que Voce Deve Fazer é Criar Um Novo Form. Escolha Um Nome Para Este Form Por Exemplo:
´FormQuickRelatorio´. Salve-o Chamando Sua Respectiva Unit Pelo Nome De ´UFormQuickRelatorio´.Vá em ´Project options´ e Passe Este Form Para
a Secção ´Available Forms´.OK :?: Antes De Passar Para o Próximo Passo,
Vá No Form Onde Estara Sendo Feito a Consulta e na Seção Uses Declare a Uses Do UFormQuickRelatorio
......................
var
FormPrincipal: TFormPrincipal;
implementation
Uses
UFormQuickRelatorio;
No Formulário Do Relatorio Na Mesma Seção Voce t.B Deve Fazer Referencia Ao Form Principal.
var
FormQuickRelatorio: TFormQuickRelatorio;
implementation
uses
UFormPrincipal;
{$R *.DFM}
Voltemos Nossa Atenção Agora Para a Construção Do Relatorio
No ´FormQuickRelatorio´ Insira Um Componente QuickReport
Alterer a Propiedade ´Report Title´ Do QuickReport Para O Título Que Voce Que Usar
Na Sua Propiedade DataSet Selecione a FormPrincipal.Query1;
Insira Um Componete QRband e Altere Sua Propiedade BandType Para
RbPageHeader,
Brinque Com as Propiedades Frame Desta Banda....
Insira Nesta Banda Um Componente QrSysData e Configure Sua Propiedade Data Para QrsReportTitle. Voce Nesta Banda Pode Colocar Outros Componetes QrSysData e Selecionar Sua Propriedades Data etc....
Insira Agora Um Novo Componete Qrband e Altere Sua Propriedade BandType Para rbTitle.
Insira Nesta Nova Banda Um QrLabel...:[color=red:448ba5e284]IMPORTANTE . É ESTE LABEL QUE RECEBERÁ O PERIODO DE SUA PESQUISA. IREMOS DEFINI-LO NO OUTRO FORMULÁRIO. SE ESTA VARIÁVEL OU O FORMULÁRIO NÃO TIVER CRIADO CORRETAMENTE , PODEREMOS TER O ERRO QUE VOCE ABRIU ESTE TÓPICO[/color:448ba5e284]
Insira Outro Componete QrBand e Altere Sua Propriedade BandType Para rbColumnHeader... Coloque Nesta Banda a Quantidade De Labeis Necessário e Configure Sua Propriedade Caption Com o Valor Devido.
Insira Novo Componente QrBand e Altere Sua Propriedade BandType Para
rbDetail..Coloque Nesta Banda os Componetes QRDBText e Configure Suas Propiedades DatSet Para ´FormPrincipal.Query1´ e a Propiedade DataField Para o Campo Correspondende. Claro Que Deve Estar Aninhados Com Os QrLabels Definidos Na Banda Acima.
Insira a Ultima Banda e Altere Sua Propriedade BandType Para PageFooter...Este Passo é o Rodapé e Vou Deixar Com Voce....Se Você Der Um Click Como o Botão Direito Do Mouse Escolha a Opção Preview
Para Voce Ver Como Esta a Constriução De Seu Relatório.Par Isto Deixe a Propriedade Active Do Query1 Em True.Vou Para Por Aqui. Faça Isto e Me Comunique Quando Terminar.
Obs:Se Voce Já Montou Um Form Contendo Um Relatório, Não é Recomdendável Que Voce Fique Remendando , Porque Alguma Propriedade Indesejável Pode Ficar Selecionada[color=red:448ba5e284](COMO FICOU A PROPRIEDADE DATASOURCE DO QUERY NO CASO ANTERIOR. E APARECER UMA SITUAÇÃO QUE A GENTE NÃO CONSIGA POR LINHAS RESOLVER.EM OUTRAS PALAVRAS , FAÇA UM NOVO FORM. É RÁPIDO E NÃO DOI.... [/color:448ba5e284]
´FormQuickRelatorio´. Salve-o Chamando Sua Respectiva Unit Pelo Nome De ´UFormQuickRelatorio´.Vá em ´Project options´ e Passe Este Form Para
a Secção ´Available Forms´.OK :?: Antes De Passar Para o Próximo Passo,
Vá No Form Onde Estara Sendo Feito a Consulta e na Seção Uses Declare a Uses Do UFormQuickRelatorio
......................
var
FormPrincipal: TFormPrincipal;
implementation
Uses
UFormQuickRelatorio;
No Formulário Do Relatorio Na Mesma Seção Voce t.B Deve Fazer Referencia Ao Form Principal.
var
FormQuickRelatorio: TFormQuickRelatorio;
implementation
uses
UFormPrincipal;
{$R *.DFM}
Voltemos Nossa Atenção Agora Para a Construção Do Relatorio
No ´FormQuickRelatorio´ Insira Um Componente QuickReport
Alterer a Propiedade ´Report Title´ Do QuickReport Para O Título Que Voce Que Usar
Na Sua Propiedade DataSet Selecione a FormPrincipal.Query1;
Insira Um Componete QRband e Altere Sua Propiedade BandType Para
RbPageHeader,
Brinque Com as Propiedades Frame Desta Banda....
Insira Nesta Banda Um Componente QrSysData e Configure Sua Propiedade Data Para QrsReportTitle. Voce Nesta Banda Pode Colocar Outros Componetes QrSysData e Selecionar Sua Propriedades Data etc....
Insira Agora Um Novo Componete Qrband e Altere Sua Propriedade BandType Para rbTitle.
Insira Nesta Nova Banda Um QrLabel...:[color=red:448ba5e284]IMPORTANTE . É ESTE LABEL QUE RECEBERÁ O PERIODO DE SUA PESQUISA. IREMOS DEFINI-LO NO OUTRO FORMULÁRIO. SE ESTA VARIÁVEL OU O FORMULÁRIO NÃO TIVER CRIADO CORRETAMENTE , PODEREMOS TER O ERRO QUE VOCE ABRIU ESTE TÓPICO[/color:448ba5e284]
Insira Outro Componete QrBand e Altere Sua Propriedade BandType Para rbColumnHeader... Coloque Nesta Banda a Quantidade De Labeis Necessário e Configure Sua Propriedade Caption Com o Valor Devido.
Insira Novo Componente QrBand e Altere Sua Propriedade BandType Para
rbDetail..Coloque Nesta Banda os Componetes QRDBText e Configure Suas Propiedades DatSet Para ´FormPrincipal.Query1´ e a Propiedade DataField Para o Campo Correspondende. Claro Que Deve Estar Aninhados Com Os QrLabels Definidos Na Banda Acima.
Insira a Ultima Banda e Altere Sua Propriedade BandType Para PageFooter...Este Passo é o Rodapé e Vou Deixar Com Voce....Se Você Der Um Click Como o Botão Direito Do Mouse Escolha a Opção Preview
Para Voce Ver Como Esta a Constriução De Seu Relatório.Par Isto Deixe a Propriedade Active Do Query1 Em True.Vou Para Por Aqui. Faça Isto e Me Comunique Quando Terminar.
Obs:Se Voce Já Montou Um Form Contendo Um Relatório, Não é Recomdendável Que Voce Fique Remendando , Porque Alguma Propriedade Indesejável Pode Ficar Selecionada[color=red:448ba5e284](COMO FICOU A PROPRIEDADE DATASOURCE DO QUERY NO CASO ANTERIOR. E APARECER UMA SITUAÇÃO QUE A GENTE NÃO CONSIGA POR LINHAS RESOLVER.EM OUTRAS PALAVRAS , FAÇA UM NOVO FORM. É RÁPIDO E NÃO DOI.... [/color:448ba5e284]
GOSTEI 0
Wagner
04/01/2004
Ufa! terminei fiz do jeito que voce ensinou, esta dando o seguinte erro
´Violação do acesso no endereço 004F851B no modulo nomedoprograma.exe ler do endereço 000002F0´
´Violação do acesso no endereço 004F851B no modulo nomedoprograma.exe ler do endereço 000002F0´
GOSTEI 0
Marco Salles
04/01/2004
Wagner. O Domingo Esta Terminando Então Vamos Nos Apressar.Não é Par Dar Erro Nenhum. É O Que Você e eu Esperamos.Ate Aonde Eu Parei
Voce Não Rode O programa. Apenas Compile o Programa Para Verificar Eventuais Erros Ortográficos.[color=red:6103ed882d]Você Pode e Deve No Form Do Relatório Dar
Um Click e Selecionar a Opção Preview.[/color:6103ed882d]Con Certeza Irá Ter Uma Idéia Do Relatório.Se Não Consiguir Revise Os Valores Das Bandas Criadas.Comunique o Mais Rápido Quando Acabar
Voce Não Rode O programa. Apenas Compile o Programa Para Verificar Eventuais Erros Ortográficos.[color=red:6103ed882d]Você Pode e Deve No Form Do Relatório Dar
Um Click e Selecionar a Opção Preview.[/color:6103ed882d]Con Certeza Irá Ter Uma Idéia Do Relatório.Se Não Consiguir Revise Os Valores Das Bandas Criadas.Comunique o Mais Rápido Quando Acabar
GOSTEI 0
Wagner
04/01/2004
Fiz da forma que ensinou, quando compilo não da nenhum erro quando dou o preview ele me mostra o formulario com todos os itens da tabela
Fica assim:
Pageheader
-----------------------------------------------------------------------
´Report Title´ = Relatório demonstrativo (QrSysData1)
´QrSysData2´ = datatime
´QrSysData3´ = pagenumber
-----------------------------------------------------------------------
tetler
Qrlabel1 //no preview aparece dessa forma
-----------------------------------------------------------------------
collunheader
-----------------------------------------------------------------------
detail
----------------------------------------------------------------------
Não entendi essa parte
[color=red:aa1830976d]Insira Agora Um Novo Componete Qrband e Altere Sua Propriedade BandType Para rbTitle.
Insira Nesta Nova Banda Um QrLabel...:IMPORTANTE . É ESTE LABEL QUE RECEBERÁ O PERIODO DE SUA PESQUISA. IREMOS DEFINI-LO NO OUTRO FORMULÁRIO. SE ESTA VARIÁVEL OU O FORMULÁRIO NÃO TIVER CRIADO CORRETAMENTE , PODEREMOS TER O ERRO QUE VOCE ABRIU ESTE TÓPICO [/color:aa1830976d]
Fica assim:
Pageheader
-----------------------------------------------------------------------
´Report Title´ = Relatório demonstrativo (QrSysData1)
´QrSysData2´ = datatime
´QrSysData3´ = pagenumber
-----------------------------------------------------------------------
tetler
Qrlabel1 //no preview aparece dessa forma
-----------------------------------------------------------------------
collunheader
-----------------------------------------------------------------------
detail
----------------------------------------------------------------------
Não entendi essa parte
[color=red:aa1830976d]Insira Agora Um Novo Componete Qrband e Altere Sua Propriedade BandType Para rbTitle.
Insira Nesta Nova Banda Um QrLabel...:IMPORTANTE . É ESTE LABEL QUE RECEBERÁ O PERIODO DE SUA PESQUISA. IREMOS DEFINI-LO NO OUTRO FORMULÁRIO. SE ESTA VARIÁVEL OU O FORMULÁRIO NÃO TIVER CRIADO CORRETAMENTE , PODEREMOS TER O ERRO QUE VOCE ABRIU ESTE TÓPICO [/color:aa1830976d]
GOSTEI 0
Marco Salles
04/01/2004
Mas E Exatamente Aí Que Eu Queri Que Vove Chegasse. Vamos Para a Outra Etapa.No Evento OnShow Do Form Principal Digite a Instrução Para Criar o Form Do Relatorio:
Application.CreateFor(TFormQuickRelatorio,FormQuickRelatorioVendas);
A Seguir Em Um Outro Botão No Evento Onclick Tambem Vamos Escrever o Código :
FormQuickRelatorioVendas.QrLabel1.Caption:=´Período de :´+
MaskEdit1.Text+´ A ´+MaskEdit2.Text;
FormQuickRelatorioVendas.QuickRep1.PreviewModal;
FormQuickRelatorio.Release;
[color=red:49338dac68]Obs: Eu Não Sei oNome Do Seu Label Que Esta Localisado Na Banda Title
Do FormQuickRelatorio. Estou Referindo a Este Label Como Label1.[/color:49338dac68]
Rapas , Se Voce Já Consegui Efetuar Uma Pesquisa(Limitando As Datas),
Verificou o Relatório Com o Comando Preview, Compilou Sem Dar Erro no
Projeto, Voce Esta Esperando O Que :?: É SÓ DIGITAR ESTES CÓDIGOS,
INSERIR ESTE NOVO BOTÃO E SER FELIZ....
OBS:é claro que voce tem que melhorar muito a estética de Seu Relatório,
Bem Como Escrever, métodos Para Previnir Datas Inválidas Digitadas No MaskEdit,Ate Mesmo Melhorar a Aparencia Do MaskEdit, Tambem Rotinas Para Que Ao Abrir o Seu Form Principal Datas Específicas(Escolhidas Com Algum Critério Por Voce) Estejam Selecionadas Nos MaskEdits e a Pesquisa Seja Feita AUTOMATICAMENTE. Tambem Botoes Para Realisar Novas Pesquisas.Emfim voce Tem Um Mundarel De Coisas Para Se Preocupar. [color=red:49338dac68]Contudo Eu Tenho Certeza, Que Realizando Esta Primeira Etapa a Que Nós Nos Propusemos, Eu Tenho Certeza Que Ganhamos O
DOMINGO....[/color:49338dac68]
Application.CreateFor(TFormQuickRelatorio,FormQuickRelatorioVendas);
A Seguir Em Um Outro Botão No Evento Onclick Tambem Vamos Escrever o Código :
FormQuickRelatorioVendas.QrLabel1.Caption:=´Período de :´+
MaskEdit1.Text+´ A ´+MaskEdit2.Text;
FormQuickRelatorioVendas.QuickRep1.PreviewModal;
FormQuickRelatorio.Release;
[color=red:49338dac68]Obs: Eu Não Sei oNome Do Seu Label Que Esta Localisado Na Banda Title
Do FormQuickRelatorio. Estou Referindo a Este Label Como Label1.[/color:49338dac68]
Rapas , Se Voce Já Consegui Efetuar Uma Pesquisa(Limitando As Datas),
Verificou o Relatório Com o Comando Preview, Compilou Sem Dar Erro no
Projeto, Voce Esta Esperando O Que :?: É SÓ DIGITAR ESTES CÓDIGOS,
INSERIR ESTE NOVO BOTÃO E SER FELIZ....
OBS:é claro que voce tem que melhorar muito a estética de Seu Relatório,
Bem Como Escrever, métodos Para Previnir Datas Inválidas Digitadas No MaskEdit,Ate Mesmo Melhorar a Aparencia Do MaskEdit, Tambem Rotinas Para Que Ao Abrir o Seu Form Principal Datas Específicas(Escolhidas Com Algum Critério Por Voce) Estejam Selecionadas Nos MaskEdits e a Pesquisa Seja Feita AUTOMATICAMENTE. Tambem Botoes Para Realisar Novas Pesquisas.Emfim voce Tem Um Mundarel De Coisas Para Se Preocupar. [color=red:49338dac68]Contudo Eu Tenho Certeza, Que Realizando Esta Primeira Etapa a Que Nós Nos Propusemos, Eu Tenho Certeza Que Ganhamos O
DOMINGO....[/color:49338dac68]
GOSTEI 0
Wagner
04/01/2004
So um pequeno detalhe enquanto eu coloco as outras coisas
[color=blue:a2bc2377e4]Application.CreateFor(TFormQuickRelatorio,[/color:a2bc2377e4][color=red:a2bc2377e4]FormQuickRelatorioVendas);[/color:a2bc2377e4]
O azul eu entendi
mais o vermelho relatoriovendas?
[color=blue:a2bc2377e4]Application.CreateFor(TFormQuickRelatorio,[/color:a2bc2377e4][color=red:a2bc2377e4]FormQuickRelatorioVendas);[/color:a2bc2377e4]
O azul eu entendi
mais o vermelho relatoriovendas?
GOSTEI 0
Marco Salles
04/01/2004
Desculpe-me. Não Tem ´Vendas. É Só FormQuickRelatorio.Corrigindo:
No Evento OnShow Do Form Principal Digite a Instrução Para Criar o Form Do Relatorio:
[color=red:58b612cd8d]Application.CreateForm(TFormQuickRelatorio,FormQuickRelatorio); [/color:58b612cd8d]
No Evento OnShow Do Form Principal Digite a Instrução Para Criar o Form Do Relatorio:
[color=red:58b612cd8d]Application.CreateForm(TFormQuickRelatorio,FormQuickRelatorio); [/color:58b612cd8d]
GOSTEI 0
Wagner
04/01/2004
Meu amigo Marco :D :D :D :D :D :D :D Cara valeu mesmo..muito obrigado isso foi demais, obrigado pela sua paciência, obrigado pelo seus detalhes passo-a-passo obrigado por tudo :D :D :D :D :D deu certinho, funcionou, Oh! domigão, quem sabe depois voce pode olhar um outro topico sobre :lol: mais voce já ajudou demais valeu mesmo quando tiver um tempo voce ´Se puder´ da uma olhadinha, enquanto isso estou aqui. Um Abraço meu amigo
10/11/2003 colocar 100,00 no Credito. Saldo = 100,00
11/11/2003 colocar 100,00 no Credito. Saldo = 200,00
12/11/2003 colocar 50,00 no Debito. Saldo = 50,00
wagnernormando@ig.com.br
10/11/2003 colocar 100,00 no Credito. Saldo = 100,00
11/11/2003 colocar 100,00 no Credito. Saldo = 200,00
12/11/2003 colocar 50,00 no Debito. Saldo = 50,00
wagnernormando@ig.com.br
GOSTEI 0
Wagner
04/01/2004
Desculpe-me saldo = 150,00
GOSTEI 0
Marco Salles
04/01/2004
VALEU,VALEU,VALEU,MUITO.Quanto ao Outro Tópico, Se Atê Sábado Que Vem(Internet no Meio De Semana é CARO....)Você Não Ter Conseguido,
Vamos Juntos Vencer Mais Este Obstáculo. Agora, Estou Trocando ´Z´Com´S´,´M´Com´N´,´P´Com´B´´Etc...´Por´Ctc...Domingão :D
Vamos Juntos Vencer Mais Este Obstáculo. Agora, Estou Trocando ´Z´Com´S´,´M´Com´N´,´P´Com´B´´Etc...´Por´Ctc...Domingão :D
GOSTEI 0
Wagner
04/01/2004
Claro, tambem uso a net nos fins de semana, uma boa semana e ate lá
GOSTEI 0