今回は「振替伝票」のフォームにつき説明いたします。使いやすさを優先して設計しました。
「会計年月」「部門C」「仕訳日」「仕訳No」「見出摘要」は連結された RecordSource「qry仕訳見出Sel年月」の項目です。これらの項目は RecordSource を設定すれば自動で表示されます。「処理年月」はここで指定された会計年月のレコードが絞られてフォームに表示されます。「会計年月」は入力不可に設定されています。また「貸借バランス」は明細行の貸借りのバランスをチェックするための作業項目です。ここがゼロでなければ登録しようとしても警告が発せられます。
「処理年月」には以下のプログラムが設定されています。
---------+---------+---------+---------+---------+---------+---------+
Private Sub 処理年月_AfterUpdate()
' qry仕訳伝票Sel年月のRequery(該当年月のレコード表示)
Me.Requery
' qry仕訳明細の科目CのRequery(年月により科目が増減する)
[frm仕訳明細].[Form]![科目C].Requery
End Sub
---------+---------+---------+---------+---------+---------+---------+
このプログラムで表示される伝票の年月が変更されます。たとえば、当月の処理をしているときに前月の伝票を見たくなったとき等に使用します。
次は「仕訳No」です。
---------+---------+---------+---------+---------+---------+---------+
Private Sub 仕訳No_Enter()
' カーソルが仕訳Noに置かれるまでは採番しない
On Error GoTo Err_仕訳No_Enter
' 仕訳Noを採番する(tbl仕訳見出がInsertされる)
If IsNull(Me![仕訳No]) Or (Me![仕訳No] = 1) Then
Me![仕訳No] = DMax("仕訳No", "tbl仕訳見出") + 1
Me.Dirty = True 'cmdNewをenableとするため
ahtHandleKeys Me 'cmdNewをenableとするため
End If
Exit_仕訳No_Enter:
Exit Sub
Err_仕訳No_Enter:
MsgBox Err.Description
Resume Exit_仕訳No_Enter
End Sub
---------+---------+---------+---------+---------+---------+---------+
ここでは伝票管理番号としての「仕訳No」の採番をしています。単に既存の仕訳No+1としています。多人数で同時に使用することは前提していません。
次は「貸借バランス」ですが、ここではqry仕訳明細のFutterで SUM「借方」-SUM「貸方」を計算して表示しています。
あとは所謂、COMMIT と ROLLBACK ですが、これは章を改めて次回に解説します。
♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥
著作者情報・・・というほどではありませんが・・・
芸名 Euler HepJean 理学修士&技術士
現況 75歳。高齢者施設で車椅子暮らし。孫と外食散歩したく自主筋トレ中…
あァ若いころはSEとしてIBMに勤務してました。
メール fukjun13@gmail.com
(済)