2016-08-09 8 views
0

私は、1列のinvoiceNumberというデータベーステーブルを持っています。これはCrystalレポートに表示され、レポートの一意の番号(請求書)が表示されます。レポートを印刷した後にデータベースの値を増やす

現在のところ、すべてのレポートで、vb.netで表示すると、表示される数値は1です。これはデータベース列の値であるためです。

私が知りたいのは、レポートが印刷された後に(たとえば、増加しない印刷ジョブをキャンセルした場合)、番号を増やすにはどうすればよいかです。

私はこれが普通ですが、ボタンの印刷コードの後に​​SQLを使用するとわかりますが、プロジェクトではCrystalReportViewerを使用していますので、印刷はボタンをクリックしても行われません。 CrystalReportViewerの印刷は別々にプログラムできると思いますか?

レポートが印刷された後、データベーステーブルの値を増分して1にする方法と場所は?これも可能ですか?

+0

プリンタの紙づまりやコーヒーのこぼれを考慮する必要があります。オーバーライドをプログラムする方が良いかもしれません。次に、レポートの開始時にインクリメントすることができます。レポートが表示され、印刷されない場合が多いと思わない限り、その場合は、レポートの表示/終了後に確認ボタンを押してください。 –

+0

@JoeC正直なところ、レポート開始時にそれを増やすことを検討しています。その後、印刷せずに終了するかどうかを尋ねるメッセージボックスを表示することができます。しかし、私はこの作品をどうやって作るのだろうか?私は何とかそれが印刷されているかどうかを伝える方法を見つける必要があります...これはどのように行われるのですか? – David

+0

Windowsフォームのレポートビューアを使用していますか? https://msdn.microsoft.com/en-us/library/ms227057(v=vs.80).aspx –

答えて

0

あなたは、印刷が成功した後に、確認応答に設定されているフラグを使用することができずにプリンタから出てきません。

フラグが設定されているかどうかを確認し、それに応じてフラグを増やすことができます。

+0

どういう意味ですか?私はフラグに慣れていません – David

+0

値を1にして印刷する場合は0、印刷しない場合は0にするブール変数 –

+0

これは宣言され、どこに設定されますか? – David

1

また、確認ボタンを使用して、ユーザーが印刷したことを確認しても問題ありません。確かに他の方法は、それはジャム、汚れ、折れ、紙などなど

擬似コード

EventHandlerWhichTriggersReportCreation 

    Call code to initiate and load CrystalReportViewer 
    Display dialog/prompt asking user if all printed OK 
    If all OK, increment counter 
+0

この問題は、印刷が処理されるサブルーチンにコードを入れなければならないということですが、 'CrystalReportViewer'を使ってコードを処理するのでコードはありません – David

+0

文字通り起動されたイベントやコードは実行されず、レポートやForm_Load関数などが実行されます。上記の擬似コードをいくつか追加しました。 –

関連する問題