所以这就是发生的事情
我正在使用 ReportBuilder(数字隐喻)上的 2dDBbarCode 生成一个 QrCode,该 QrCode 对报告中的所有项目(产品)进行编码,每行一个项目。但它只编码第一行数据。2dDBbarcode 位于报告的标题带上。
如何在 2dBDbarcode 中拥有多行数据?
我已经在http://www.digital-metaphors.com/pdf/rbuilder.pdf上查看了 rbuilder 指南,但从那里什么也得不到
所以这就是发生的事情
我正在使用 ReportBuilder(数字隐喻)上的 2dDBbarCode 生成一个 QrCode,该 QrCode 对报告中的所有项目(产品)进行编码,每行一个项目。但它只编码第一行数据。2dDBbarcode 位于报告的标题带上。
如何在 2dBDbarcode 中拥有多行数据?
我已经在http://www.digital-metaphors.com/pdf/rbuilder.pdf上查看了 rbuilder 指南,但从那里什么也得不到
我实际上找到了解决这个问题的方法。我没有在 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;