今回は「振替伝票」のフォームにつき説明いたします。使いやすさを優先して設計しました。
「会計年月」「部門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「貸方」を計算して表示しています。
また「部門C」はプルダウン選択になっており RowSourceType は Table/Query でRowSource にはSELECT文[SELECT tbl会計部門.部門C, tbl会計部門.部門名 FROM tbl会計部門;]が設定されています。
以下は「frm仕訳明細」です。
「貸借区分」もプルダウンで RowSourceType は ValueList で直接”借方,貸方”を指定、「科目C」には以下のSELECT文を設定しています。(長いですゥ)
PARAMETERS [Forms]![frm仕訳伝票]![処理年月] Text ( 255 );
SELECT tbl総勘定元帳.科目C, tbl勘定科目.勘定科目名 FROM tbl勘定科目
INNER JOIN tbl総勘定元帳 ON tbl勘定科目.勘定科目C=tbl総勘定元帳.科目C
WHERE (((tbl総勘定元帳.会計年月)=Forms!frm仕訳伝票!処理年月));
科目コードをプルダウン表示するだけなら2行目だけでもよさそうなのですが、月次決算を想定しており、勘定科目も月毎に増減することを想定しています。が、…チョットやり過ぎたかとも思います。ご参考まで…
あとは所謂、COMMIT と ROLLBACK ですが、これは章を改めて次回に解説します。
♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥♥♥♡♥♥♥♥♥♥♥
著作者情報・・・というほどではありませんが・・・
芸名 Euler HepJean 理学修士&技術士
現況 75歳。高齢者施設で車椅子暮らし。孫と外食散歩したく自主筋トレ中…
あァ若いころはSEとしてIBMに勤務してました。
メール fukjun13@gmail.com
(済)