所以这里发生了什么
我在ReportBuilder(数字隐喻)上使用2dDBbarCode来生成一个QrCode,它对报告中的所有itens(产品)进行编码,每行一个项目。 但它只编码第一行数据。 2dDBbarcode位于Report的Header band。
如何在2dBDbarcode内部有多行数据?
我已经在http://www.digital-metaphors.com/pdf/rbuilder.pdf查看了rbuilder指南,但无法从中得到任何内容
答案 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;