como pular uma etiqueta no delphi com fastreports apos imprimir uma vez?
Boa noite, criei um programa em Delphi e preciso imprimir uma etiqueta, só que eu imprimo a primeira etiqueta e apos na hora de mandar imprimir novamente tem que pular uma e imprimir na segunda etiqueta, eu fiz assim, mais não muda, toda hora que vai imprimir ele fica na primeira etiqueta.
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
Diego Ribeiro
Curtidas 0
Respostas
Dirceu Morais
08/03/2020
Boa noite, criei um programa em Delphi e preciso imprimir uma etiqueta, só que eu imprimo a primeira etiqueta e apos na hora de mandar imprimir novamente tem que pular uma e imprimir na segunda etiqueta, eu fiz assim, mais não muda, toda hora que vai imprimir ele fica na primeira etiqueta.
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
Você esta *indexando* as etiquetas por qual campo?
Tenta assim:
procedure TFm_livros.EtiquetasEmBranco; var li,cont: Integer; begin cont := 1; for li := 0 to cont -1 do begin dm.cdsEtiquetas.Append; dm.CDSETIQUETAScod.Value := 0; //Acrescentei alguma coisa para tabela não ficar vazia dm.cdsEtiquetas.Post; cont:=cont+1; end; end;
Depois ordenaria a tabela pelo CODIGO
GOSTEI 0
Diego Ribeiro
08/03/2020
Boa noite, criei um programa em Delphi e preciso imprimir uma etiqueta, só que eu imprimo a primeira etiqueta e apos na hora de mandar imprimir novamente tem que pular uma e imprimir na segunda etiqueta, eu fiz assim, mais não muda, toda hora que vai imprimir ele fica na primeira etiqueta.
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
procedure TFm_livros.EtiquetasEmBranco;
var
li,cont: Integer;
begin
cont := 1;
for li := 0 to cont -1 do
begin
dm.cdsEtiquetas.Append;
dm.cdsEtiquetas.Post;
cont:=cont+1;
end;
end;
procedure TFm_livros.visualizar;
begin
dm.CDSETIQUETAS.Open;
EtiquetasEmBranco;
PreencherOsProdutos;
dm.frxDBDataset_IDE_LIVRO.DataSet := dm.CDSEtiquetas; {Joga a tabela de etiquetas para o relaório}
dm.IDE_LIVRO.PrepareReport;
dm.IDE_LIVRO.ShowReport;
end;
procedure TFm_livros.PreencherOsProdutos;
begin
dm.CDS_IDE_LIVRO.First;
while not dm.CDS_IDE_LIVRO.Eof do
begin
dm.cdsEtiquetas.Append;
dm.CDSETIQUETAScod.Value := StrToInt(dbedit1.Text);
dm.CDSETIQUETAStipo.value := DBLookupComboBox2.Text;
dm.cdsEtiquetas.Post;
dm.CDS_IDE_LIVRO.Next;
end;
dm.cdsEtiquetas.IndexFieldNames := dm.CDS_IDE_LIVRO.IndexFieldNames;
end;
Você esta *indexando* as etiquetas por qual campo?
Tenta assim:
procedure TFm_livros.EtiquetasEmBranco; var li,cont: Integer; begin cont := 1; for li := 0 to cont -1 do begin dm.cdsEtiquetas.Append; dm.CDSETIQUETAScod.Value := 0; //Acrescentei alguma coisa para tabela não ficar vazia dm.cdsEtiquetas.Post; cont:=cont+1; end; end;
Depois ordenaria a tabela pelo CODIGO
desculpe eu sou novo em delphi, como assim ordenar a tabela pelo codigo?
GOSTEI 0