■メニュー
1.得意先残高初期入力の作成(1回目)
===================================================================
こんにちは、ティウェアの高橋です。
得意先残高初期入力の役割ですが、前回まで得意先残高マスタを説明
しましたが、このマスタに残高の入力するプログラムを作ります。
新規のお客さんなら、当たりまえですが残高はありません。
掛けの伝票が発生していれば、残高もあります。
システムを運用するはじめにしか使わないのですが、このような
手入力の残高入力のプログラムを作ります。
本来は、使っているシステムの残高を移行するコンバートプログラムを
作るのですが、手入力のプログラムを作ってみます。
では、どこからの残高を入力すればよいのか?
前回の請求書の残高です。
まだ、売上、入金入力もプログラムを作成していませんが、
入力する伝票は、前回の請求書以降に発生した伝票を入力します。
これで次回の請求書が発行できます。
得意先残高初期入力の作成の1回目です。
では、はじめましょう。
------------------------------------------------------------------
はじめて稼動する残高は、すべての残項目には、同じ金額が入ります。
残高はどこで切ろうが、同じ値でなければいけません。
金太郎飴と同じです、どこできっても同じ。
つまり、売掛残高一覧表の残高と月末の得意先元帳の残高も同じで
ないといけないと言うことです。
1.フォーム名、項目名の作成
フォームにマスタの項目を作成します。
1−1.フォーム名の設定
1.プロパティの内容
表題 得意先残高初期入力
1−2.項目名の設定
プロパティの内容によりグループにしています。
テキストボックスの前に同じ名前でラベルを作成して下さい。
1.営業所コード(テキストボックス)
名前 営業所コード
書式 0
小数点以下表示桁数 0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
ヒントテキスト ダブルクリック、または[F12]キーを
押すと問い合せ画面に移動します
◎ポイント解説 1 -----*-----*-----*-----
”ヒントテキスト”は、営業所コード上にマウスを
そっと移動させるとヒントテキストに記述した内容が現れます。
ちょっとした説明をしたい場合に使ってください。
2.得意先コード(テキストボックス)
名前 得意先コード
書式 0
小数点以下表示桁数 0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
3.前年残高(テキストボックス)
名前 前年残高
書式 #,##0
小数点以下表示桁数 0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
4.開始残高(テキストボックス)
名前 開始残高
書式 #,##0
小数点以下表示桁数 0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
5.請求残高(テキストボックス)
名前 請求残高
書式 #,##0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
6.月次残高(テキストボックス)
名前 月次残高
書式 #,##0
IME 入力モード保持 いいえ
IME 入力モード オフ
IME 変換モード 一般
使用可能 はい
編集ロック いいえ
------------------------------------------------------------------
残高って、こんなにたくさんいるのと思っていませんか?
得意先残高初期入力でこれらの残高の項目に同じ数字が入ります。
ひとつ入力したら、すべての項目に自動で入るようにします。
前年残高は、1年ごとの残高
請求残高は、請求ごとの残高
月次残高は、月ごとの残高
開始残高は、更新時の対象にしません。
得意先残高初期入力で入力された残高がそのまま残ります。
これは、得意先元帳で使います。
なぜ?
得意先元帳には、売上明細、入金明細を差し引きしながら残高を印刷します。
その際、一番はじめの残高から求めないと残高をだせないからです。
逆にさかのぼってということも考えられますが、面倒なのでやめました。
考え方を変えれば、開始残高さえあれば、ほかの前年、請求、月次残高は
いらないのですが、スピードを求めるために必要だと思い作成しました。
たとえば、5年前の伝票明細から月次の残高を求めるとしたら・・・
伝票明細がどれくらい存在して、どれくらいの時間がかかるのかを検証します。
それで残高をどう管理すれば、処理速度が速くなるのかを考えます。
それを設計時に検討する必要があります。
-*--------*--------*--------*--------*--------*--------*--------*-
2−3.ボタンの設定
1.登録ボタン
名前 btn登録
表題 登録(F8)
2.取消ボタン
名前 btn取消
表題 取消(F10)
3.終了ボタン
名前 btn終了
表題 終了(End)
-*--------*--------*--------*--------*--------*--------*--------*-
3.formについて
3−1.form → load
画面を開いた時に通る処理です。
処理は1回だけとなります。
Set cn = Application.CurrentProject.Connection
cn.CursorLocation = adUseClient
p_tancd = Int(0)
From_Clr
[btn取消].Enabled = False
-*--------*--------*--------*--------*--------*--------*--------*-
3−2.form → Unload
画面を閉じる時に1回だけ通る処理です。
cn.Close
Set cn = Nothing
-*--------*--------*--------*--------*--------*--------*--------*-
3−3.form → KeyDown
フォーム上で何かしらのキーが押されたときの処理です。
Select Case KeyCode
Case 119 '登録(F8)
If btn登録.Enabled = True Then
btn登録.SetFocus
SendKeys "{ENTER}"
End If
Case 121 '取消(F10)
If btn取消.Enabled = True Then
btn取消.SetFocus
SendKeys "{ENTER}"
End If
Case 35 '終了(END)
If btn終了.Enabled = True Then
btn終了.SetFocus
SendKeys "{ENTER}"
End If
End Select
Exit Sub
Form_KeyDown_err:
MsgBox "エラーが発生しました。再度、見直してください。", _
vbExclamation, "注意"
◎ポイント解説 3 -----*-----*-----*-----
Form上のキーボードイベント取得を「はい」にすると
Form上のKeyDownを優先されます。
次回も得意先残高初期入力です。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|