2016-08-09 2 views
0

У меня есть таблица базы данных с одним столбцом, номер счета-фактуры. Это отображается в Crystal Report, чтобы показать уникальный номер отчета (так как это счет-фактура).Увеличение значения базы данных после печати отчета

На данный момент для всех отчетов при просмотре их в vb.net отображаемое число равно 1, так как это значение в столбце базы данных.

Я хочу знать, как я могу увеличить число после и только после того, как отчет был напечатан (если они отменили задание на печать, которое оно не увеличивает, например).

Я знаю, что это обычно просто, он будет использовать SQL после того, как код печати на кнопке будет нажат, однако в проекте я использую CrystalReportViewer, поэтому печать не выполняется нажатием кнопки, t думаю, что печать в 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

И это будет объявлено и задано где? – 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

Есть ли буквально нет события, которое увольняется или код o запускает отчет или функцию Form_Load или что-то еще ?. Я добавил некоторый псевдокод выше. –

Смежные вопросы