como pular uma etiqueta no delphi com fastreports apos imprimir uma vez?

Delphi

FastReport

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;
Diego Ribeiro

Diego Ribeiro

Curtidas 0

Respostas

Dirceu Morais

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;



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

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;



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
POSTAR