Impressão de documentos.
Bom dia a todos!
Em todo lugar que tenho procurado só tenho visto como imprimir relatórios com registros e em sequencia, tipo, não encontrei nada que diga como selecione um único registro. O que estou precisando é no momento que registro estiver sendo for salvo no banco, ele chame a tela de impressão somente com o registro e as informações que estão sendo armazenadas na quele momento, tenho usado o report builder.
O comando que estou usando é:
Podem me ajudar?
Em todo lugar que tenho procurado só tenho visto como imprimir relatórios com registros e em sequencia, tipo, não encontrei nada que diga como selecione um único registro. O que estou precisando é no momento que registro estiver sendo for salvo no banco, ele chame a tela de impressão somente com o registro e as informações que estão sendo armazenadas na quele momento, tenho usado o report builder.
O comando que estou usando é:
ppReport.PrintReport;
Podem me ajudar?
Rodrigo Carlos
Curtidas 0
Melhor post
Rodrigo Carlos
27/08/2015
Cara muito obrigado, deu certo!!
Valeu mesmo, pela ajuda e a paciência.
Valeu mesmo, pela ajuda e a paciência.
GOSTEI 1
Mais Respostas
Valquiria Silva
26/08/2015
Rodrigo, esta meio confuso sua descrição.
O que você quer é imprimir um registro antes de salvar?
O que você quer é imprimir um registro antes de salvar?
GOSTEI 0
Rodrigo Carlos
26/08/2015
Valquiria, boa tarde!
Necessito que ao clicar no button(Salvar), além de inserir as informações no banco, abra a tela de impressão apenas com o registro que está sendo salvo, ou seja, que ao abrir a tela de impressão, venha apenas o registro salvo.
Necessito que ao clicar no button(Salvar), além de inserir as informações no banco, abra a tela de impressão apenas com o registro que está sendo salvo, ou seja, que ao abrir a tela de impressão, venha apenas o registro salvo.
GOSTEI 0
Raimundo Pereira
26/08/2015
Tente executar a rotina abaixo
1. Grave o registro
2. Na query use um select para retornar o registro selecionado
3. IMP.PREPAREREPORTS();
4. IMP.SHOWREREPORTS();
1. Grave o registro
2. Na query use um select para retornar o registro selecionado
3. IMP.PREPAREREPORTS();
4. IMP.SHOWREREPORTS();
GOSTEI 0
Rodrigo Carlos
26/08/2015
Poderia dar um exemplo de como deve ficar?
GOSTEI 0
Raimundo Pereira
26/08/2015
TForm1 = class(TForm)
DBGrid1: TDBGrid; Linkado ao DataSource1 >> LSIT "Somente para visualização dos dados "
ED_NOME: TEdit;
Q_: TADOQuery; >> Usado para realizar o select
CNX: TADOConnection; >> Conexão Principal
BTN_GRAVAR: TButton;
F_REL: TfrxReport;
F_DB: TfrxDBDataset;Linkado Q_: TADOQuery;
LSIT: TADOQuery;
DataSource1: TDataSource;
procedure BTN_GRAVARClick(Sender: TObject);
*****************
Exemplo:
procedure TForm1.BTN_GRAVARClick(Sender: TObject);
begin
if ED_NOME.Text<>'' then
BEGIN
Q_.Close;
Q_.SQL.Text:='SELECT * FROM TS';
Q_.OPEN;
if Q_.Locate('NOME',ED_NOME.Text,[]) then
BEGIN
ShowMessage('Já existe um registro com este nome');
ED_NOME.SetFocus;
ED_NOME.SelectAll;
END
ELSE
BEGIN
Q_.Insert;
Q_.FieldByName('NOME').AsString:=ED_NOME.Text;
Q_.POST;
LSIT.CLOSE;
LSIT.OPEN;
Q_.Close;
Q_.SQL.Text:='SELECT * FROM TS WHERE NOME="'+ED_NOME.Text+'"';
Q_.OPEN;
if Q_.RecordCount=1 then
BEGIN
F_REL.PrepareReport();
F_REL.ShowReport();
END;
END;
END;
end;
DBGrid1: TDBGrid; Linkado ao DataSource1 >> LSIT "Somente para visualização dos dados "
ED_NOME: TEdit;
Q_: TADOQuery; >> Usado para realizar o select
CNX: TADOConnection; >> Conexão Principal
BTN_GRAVAR: TButton;
F_REL: TfrxReport;
F_DB: TfrxDBDataset;Linkado Q_: TADOQuery;
LSIT: TADOQuery;
DataSource1: TDataSource;
procedure BTN_GRAVARClick(Sender: TObject);
*****************
Exemplo:
procedure TForm1.BTN_GRAVARClick(Sender: TObject);
begin
if ED_NOME.Text<>'' then
BEGIN
Q_.Close;
Q_.SQL.Text:='SELECT * FROM TS';
Q_.OPEN;
if Q_.Locate('NOME',ED_NOME.Text,[]) then
BEGIN
ShowMessage('Já existe um registro com este nome');
ED_NOME.SetFocus;
ED_NOME.SelectAll;
END
ELSE
BEGIN
Q_.Insert;
Q_.FieldByName('NOME').AsString:=ED_NOME.Text;
Q_.POST;
LSIT.CLOSE;
LSIT.OPEN;
Q_.Close;
Q_.SQL.Text:='SELECT * FROM TS WHERE NOME="'+ED_NOME.Text+'"';
Q_.OPEN;
if Q_.RecordCount=1 then
BEGIN
F_REL.PrepareReport();
F_REL.ShowReport();
END;
END;
END;
end;
GOSTEI 0
Raimundo Pereira
26/08/2015
https://uploaddeimagens.com.br/imagens/ex445-jpg
GOSTEI 0
Rodrigo Carlos
26/08/2015
Boa noite!
Fiz idêntico mais não deu certo.
Fiz idêntico mais não deu certo.
GOSTEI 0
Rodrigo Carlos
26/08/2015
poderia me ajudar com estes comandos?
procedure TFrmPrescricao.btnImpressaoClick(Sender: TObject);
begin
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
end.
procedure TFrmPrescricao.btnImpressaoClick(Sender: TObject);
begin
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
end.
GOSTEI 0
Raimundo Pereira
26/08/2015
procedure TFrmPrescricao.btnImpressaoClick(Sender: TObject);
begin
FrmImpPresc.qryPrint.close;
FrmImpPresc.qryPrint.SQL.clear;
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc.qryPrint.open;
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
begin
FrmImpPresc.qryPrint.close;
FrmImpPresc.qryPrint.SQL.clear;
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc.qryPrint.open;
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
GOSTEI 0
Rodrigo Carlos
26/08/2015
Estou sem graça, agora esta dando esse erro.
[img]http://arquivo.devmedia.com.br/forum/imagem/444757-20150827-165052.png[/img]
[img]http://arquivo.devmedia.com.br/forum/imagem/444757-20150827-165052.png[/img]
GOSTEI 0
Raimundo Pereira
26/08/2015
Rodrigo,
FrmImpPres é um form ?
Se sim verifique se ele está no auto creat , se estiver retire ele de lah.
-------------------------------------------------------------------------------------------------------
begin
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.qryPrint.close;
FrmImpPresc.qryPrint.SQL.clear;
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc.qryPrint.open;
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
Estou baixo o QuickReport, pois uso o FastReports no Delphi XE8, diante mão teste o código acima.
FrmImpPres é um form ?
Se sim verifique se ele está no auto creat , se estiver retire ele de lah.
-------------------------------------------------------------------------------------------------------
begin
FrmImpPresc := tFrmImpPresc.Create(Application);
try
FrmImpPresc.qryPrint.close;
FrmImpPresc.qryPrint.SQL.clear;
FrmImpPresc.qryPrint.SQL.Text:='SELECT * FROM INT_PRESCRICAO WHERE reg="'+edtRegistro.Text+'"';
FrmImpPresc.qryPrint.open;
FrmImpPresc.QuickRep1.Preview;
finally
FrmImpPresc.Free
end;
end;
Estou baixo o QuickReport, pois uso o FastReports no Delphi XE8, diante mão teste o código acima.
GOSTEI 0
Raimundo Pereira
26/08/2015
Qual quer coisa estamos ai
Vlw
Vlw
GOSTEI 0