今回は各ボタンの処理と項目のチェックを説明します。
○ボタンについて
1.btn印刷ボタンについて
ボタンを押されたら、確認のメッセージボックスを表示させます。
印刷処理(2)の処理を行います。
もし、印刷をしない場合は、[印刷年]にフォーカスを移動させます。
Private Sub btn印刷_Click()
If intinsatu = 1 Then
If MsgBox("印刷を開始しますか", (vbYesNo + vbDefaultButton2 _
+ vbInformation), "印刷") = vbYes Then
Else
[印刷年].SetFocus
Exit Sub
End If
End If
intRet = 印刷処理(2)
End Sub
-------------------------------------------------------------------
2.btnプレビューについて
ボタンを押されたら、確認のメッセージボックスを表示させます。
印刷処理(1)の処理を行います。
もし、印刷をしない場合は、[印刷年]にフォーカスを移動させます。
Private Sub btnプレビュー_Click()
If intpurebyu = 1 Then 'プレビュー確認(有り)
If MsgBox("プレビューを開始しますか", (vbYesNo + vbDefaultButton2
_
+ vbInformation), "プレビュー") = vbYes Then
Else
[印刷年].SetFocus
Exit Sub
End If
End If
intRet = 印刷処理(1)
End Sub
-------------------------------------------------------------------
3.btn終了について
Private Sub btn終了_Click()
On Error GoTo Err_btn終了_Click
If intsyuuryou = 1 Then '終了確認(有り)
If MsgBox(Forms(cFormName_M).Caption & "を終了しますか", ( _
vbYesNo + vbDefaultButton2 + vbInformation), "終了") =
vbYes Then
Else
[印刷年].SetFocus
Exit Sub
End If
End If
On Error GoTo Err_btn終了_Click
DoCmd.Close
DoCmd.OpenForm "m_マスタメンテナンス処理メニュー"
Exit_btn終了_Click:
Exit Sub
Err_btn終了_Click:
MsgBox "エラーナンバー " & Err.Number & _
vbCrLf & _
Err.Description, vbCritical, "エラー"
Resume Exit_btn終了_Click
End Sub
○日付について
日付のチェックは大の月、小の月により日が違います。
他には、うるう年のチェックも必要になります。
日付のチェックは共通ルーチンとして他のプログラムで使えるように
モジュール化しておくと便利です。
印刷日付を誤って消された場合を考えてみます。
入力項目が空白となるわけです。
nullである場合、長さゼロの""を返してくれる関数があります。
それが、Nz関数です。
例えば[印刷年]で空白にされたら今日の年を[印刷年]に
おくるという処理を作っておけばよいのです。
[印刷月]には月を[印刷日]には日を送っているということです。
*AfterUpdate イベントは、コントロールまたはレコードで変更された
データが更新された直後に発生します。
Private Sub 印刷年_AfterUpdate()
[印刷年] = Nz([印刷年], Year(Date))
End Sub
Private Sub 印刷月_AfterUpdate()
[印刷月] = Nz([印刷月], Month(Date))
End Sub
Private Sub 印刷日_AfterUpdate()
[印刷日] = Nz([印刷日], Day(Date))
End Sub
日付のチェックはBeforeUpdateで処理を入れるとよいでしょう。
チェックを素通りさせないためにbtn印刷、btnプレビューの処理後にも
日付のチェックを入れるとなおよいと思います。
次回も引き続き区分マスタリストの作成です。
btn印刷とbtnプレビューで共通に使っている印刷処理について説明します。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
仕事に使える、しかも役立つ勉強方法は、このメルマガで決定です
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|