Array
(
)

impressão de etiquetas de um mesmo produto

Mahdak
   - 23 jan 2006

salve colegas!

o problema é o seguinte:

- imprimir uma determinada quantdade de etiquetas (que eu determino em um edit), de um determinado produto (que está no meu banco .FDB)

- tenho um exemplo aqui que um amigo enviou com o componente CLientDataSet, onde busco os dados de um TIBDataSet. o relatório é gerado em Rave

- o qe fiz foi tentar dar um select no TIBDataSet antes de daro preview no rave mas ao invéz de aparecer o que eu quero, aparece todos os produtos....

- vou colar um trecho do código aqui. quem puder ajudar...

#Código


procedure TEtiqueta_produto.btnVisualizarClick(Sender: TObject);
var
etiquetasRave : TEtiquetaRave;
begin

Tbl_Produtos.SelectSQL.Clear;
Tbl_Produtos.SelectSQL.Add(´Select * From PRODUTO Where Nome Like:Consulta Order By Nome ´);
Tbl_Produtos.Params[0].AsString;
Tbl_Produtos.ParamByName(´Consulta´).AsString:=´´+´¬´+Edit_produto.Text+´¬´;
Tbl_Produtos.Close;
Tbl_Produtos.Open;




etiquetasRave := TEtiquetaRave.Create;
with etiquetasRave do
begin
origemDosDados := cdsCustomer;
camposDaEtiqueta.Assign(lbCamposEtiqueta.Items);
fonteEtiqueta := lblNomeFonte.Caption;
tamanhoFonteEtiqueta := StrToInt(lblTamanhoFonte.Caption);
alturaEtiqueta := etiquetasRave.CmParaPolegada(StrToFloat(edtAltEtiq.Text));
numEtiquetasPagina := StrToInt(edtNumEtiq.Text);
numColunasPagina := StrToInt(edtNumCol.Text);
larguraEntreColunas := etiquetasRave.CmParaPolegada(StrToFloat(edtLargCol.Text));
margemSuperior := etiquetasRave.CmParaPolegada(StrToFloat(edtSuperior.Text));
margemInferior := etiquetasRave.CmParaPolegada(StrToFloat(edtInferior.Text));
margemDireita := etiquetasRave.CmParaPolegada(StrToFloat(edtDireita.Text));
margemEsquerda := etiquetasRave.CmParaPolegada(StrToFloat(edtEsquerda.Text));
tamanhoPapel := cbTamanhoPagina.Text;
case rgOrientacao.ItemIndex of
0: orientacaoPapel := ´RETRATO´;
1: orientacaoPapel := ´PAISAGEM´;
end;
if edtAltPag.Text <> ´´ then
alturaPagina := CmParaPolegada(StrToFloat(edtAltPag.Text))
else
alturaPagina := 0;
if edtLargPag.Text <> ´´ then
larguraPagina := CmParaPolegada(StrToFloat(edtLargPag.Text))
else
larguraPagina := 0;
case rgOrdemImpressao.ItemIndex of
0: ordemDeImpressao := ´LC´;
1: ordemDeImpressao := ´CL´;
end;
Visualizar;
Free;
end;
end;