使用多行数据在ReportBuilder上生成QrCode

时间:2014-01-11 16:46:42

标签: delphi qr-code reportbuilder barcode-printing

所以这里发生了什么

我在ReportBuilder(数字隐喻)上使用2dDBbarCode来生成一个QrCode,它对报告中的所有itens(产品)进行编码,每行一个项目。 但它只编码第一行数据。 2dDBbarcode位于Report的Header band。

如何在2dBDbarcode内部有多行数据?

我已经在http://www.digital-metaphors.com/pdf/rbuilder.pdf查看了rbuilder指南,但无法从中得到任何内容

1 个答案:

答案 0 :(得分:0)

我实际上找到了解决这个问题的方法。而不是创建一个报告管道来直接从2dbarcode中的数据库中获取数据,我在打开报告之前传递数据。现在的代码是:

        with DataModule2.Sql_IdQtd1 do
          begin
            Close;
            SQL.Clear;
            Sql.Add('select concat("when ",id_produto," then ",quant) from mv_vendas_movimento');
            Sql.Add('where controle=:NumPed');
            ParamByName('NumPed').Value := NumPed;
            ExecSQL;
        Open;
        First;

-- here it goes thru each row of data and store it to 2dbarcode.data, one row by line 

         DataModule2.p2dbrcd1.Data := 'UPDATE cad_produtos SET estoque = estoque + CASE id';
            while (not Eof) do begin
              DataModule2.p2dbrcd1.Data := DataModule2.p2dbrcd1.Data +sLineBreak+ DataModule2.Sql_IdQtd1concatwhenid_produtothenquant.Text;
              Next;
            end;
            DataModule2.p2dbrcd1.Data := DataModule2.p2dbrcd1.Data +sLineBreak+ 'ELSE estoque END'

          end;