Ich habe eine Datenbanktabelle mit nur einer Spalte, invoiceNumber. Dies wird in einem Crystal Report angezeigt, um die eindeutige Nummer des Berichts anzuzeigen (da es sich um eine Rechnung handelt).Inkrementieren eines Datenbankwerts nach dem Drucken eines Berichts
Im Moment wird für alle Berichte bei der Anzeige in vb.net die Nummer 1 angezeigt, da der Wert in der Datenbankspalte angegeben ist.
Was ich wissen möchte, ist, wie kann ich die Nummer nach und erst nach dem Drucken des Berichts erhöhen (wenn sie den Druckauftrag abbrechen, z. B. nicht erhöht).
Ich weiß, das ist in der Regel einfach, es würde SQL nach dem Druckcode auf der Schaltfläche drücken, jedoch in dem Projekt verwende ich eine CrystalReportViewer
, so dass Drucken nicht auf einen Klick der Schaltfläche erfolgt, und ich don ' t Denken Sie, dass der Druck in einer CrystalReportViewer
separat programmiert werden kann?
Also wie und wo kodiere ich den Wert in der Datenbanktabelle um 1 zu erhöhen, nachdem der Bericht gedruckt hat? Ist das überhaupt möglich?
Sie müssen Druckerstaus und Kaffeespuren in Betracht ziehen. Es könnte besser sein, eine Überschreibung zu programmieren. Dann können Sie den Berichtsstart erhöhen ... Es sei denn, Sie erwarten viele Vorkommnisse, bei denen ein Bericht angezeigt und nicht gedruckt wird. In diesem Fall möchten Sie möglicherweise eine Bestätigungsschaltfläche drücken, nachdem der Bericht angezeigt/geschlossen wurde. –
@JoeC Ich überlege, es bei der Einführung des Berichts in Ehrlichkeit zu erhöhen. Ich könnte dann ein Meldungsfeld haben, in dem ich gefragt werde, ob sie ohne Drucken gehen wollen. Aber wie würde ich das funktionieren lassen? Ich müsste irgendwie herausfinden, ob es gedruckt wurde oder nicht ... Wie sollte das gemacht werden? – David
Verwenden Sie den Windows Forms Report Viewer? https://msdn.microsoft.com/en-us/library/ms227057(v=vs.80).aspx –