質問

だからここに何が起こっているのか

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top