impressão de etiquetas de um mesmo produto

23/01/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...

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&93;.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;



Mahdak