複数行のデータを含むReportBuilderにQRCODEを生成します
-
26-12-2019 - |
質問
だからここに何が起こっているのか
ReportBuilder(デジタル比喩)上の2DDBBarCodeを使用して、レポート内のすべてのITENS(製品)をエンコードするQRCODEを生成します。 しかし、それは最初のデータ行をエンコードします。 2DDBBARCODEはレポートのヘッダーバンドに配置されています。
2DBDBARCODE内に複数行のデータを持つことができますか?
http://www.digitalですでにルビルダーガイドを見ています。-metaphors.com/pdf/rbuilder.pdf がそこから何も得られない
解決
私は実際にこの問題を回避する方法を見つけました。レポートパイプラインを作成する代わりに、データベースから直接データベースのデータを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;
. 所属していません StackOverflow