■メニュー
1.売上入力の作成(7回目)
===================================================================
こんにちは、ティウェアの高橋です。
売上入力の作成の7回目です。
では、はじめましょう。
------------------------------------------------------------------
1.◎ポイント解説 2 について
メルマガのNo.116に記述したポイント解説2の説明です。
明細画面の画面後退についてです。
前進の逆をすればよいだけです。
画面前進の内容と同じですから解説を省きます。
注意点としては、伝票明細行が1になっているにもかかわらず
後退ボタンを押した場合にメッセージを表示させることです。
オペレータに、これ以上は後退できませんよと促している点です。
Sub 画面後退()
int_gyo = 1
Do
If int_gyo > 5 Then
Exit Do
End If
If 商品_読む_最終チェック(int_gyo) Then
Else
MsgBox "商品コードが登録されていません", vbCritical, "警告"
Forms(cFormName_M).Controls("商品コード_" & CStr(int_gyo)).SetFocus
Exit Sub
End If
int_gyo = int_gyo + 1
Loop
If Int(伝票明細行_1) = Int(1) Then
bolRet = 明細_画面から表へ(Int(1))
MsgBox "これ以上画面後退は出来ません", vbExclamation, "注意"
Else
If Int(伝票明細行_1) = Int(6) Then
bolRet = 明細_画面から表へ(Int(6))
bolRet = 明細_表から画面へ(Int(1))
End If
End If
Forms(cFormName_M)![商品名_1].SetFocus
SendKeys "+{TAB}"
End Sub
Formの処理は、これで終了です。
-------------------------------------------------------------------
次は伝票番号の処理を解説します。
伝票番号の概要です。
伝票番号(テキスト)での処理は、大きく2通りです。
伝票番号(テキスト)の項目に何も入っていなければ、コントロールマスタ
より伝票番号を取得して表示させます。
伝票番号(テキスト)の項目に何かしら入っていれば、トランザクションの
読み込みをさせて伝票の明細を画面に表示させます。
簡単ですよね。
それと過去の伝票履歴を問い合わせして売上入力の画面に表示させることです。
これは、いずれメルマガで説明します。
では、GotFocusからです。
atKeyCode = 35
◎ポイント解説 1 -----*-----*-----*-----
From_Clr_btn
If IsNull(Forms(cFormName_M)![伝票番号]) Or _
Trim(Forms(cFormName_M)![伝票番号]) & "" = "" Then
Else
SendKeys "{ENTER}"
End If
伝票番号がnullまたは空白なら何もしない
伝票番号に何かしら入っていれば次の項目へ移動させます。
-------------------------------------------------------------------
ボタンのEnabledをTrueならFalseにしています。
これは、伝票番号(テキスト)項目を入力する際、終了ボタン以外はすべて
操作できないFalse状態にして制御させない処理をしています。
これは、無くてもよいのですが、すべてのボタンには何かしら処理をさせています。
それを使えると予期しない動作をしてしまう、ならボタンをFalse状態にして
使えないようにすればよいのです。
あれこれとボタン内で制御するよりも、この方が制御しやすいです。
1.◎ポイント解説 1 について
Sub From_Clr_btn()
If Forms(cFormName_M)![btn取消].Enabled = True Then
Forms(cFormName_M)![btn取消].Enabled = False
End If
If Forms(cFormName_M)![btn登録].Enabled = True Then
Forms(cFormName_M)![btn登録].Enabled = False
End If
If Forms(cFormName_M)![btn削除].Enabled = True Then
Forms(cFormName_M)![btn削除].Enabled = False
End If
If Forms(cFormName_M)![btn行挿入].Enabled = True Then
Forms(cFormName_M)![btn行挿入].Enabled = False
End If
If Forms(cFormName_M)![btn行削除].Enabled = True Then
Forms(cFormName_M)![btn行削除].Enabled = False
End If
If Forms(cFormName_M)![btnデータ先頭].Enabled = True Then
Forms(cFormName_M)![btnデータ先頭].Enabled = False
End If
If Forms(cFormName_M)![btnデータ後退].Enabled = True Then
Forms(cFormName_M)![btnデータ後退].Enabled = False
End If
If Forms(cFormName_M)![btnデータ前進].Enabled = True Then
Forms(cFormName_M)![btnデータ前進].Enabled = False
End If
If Forms(cFormName_M)![btnデータ最終].Enabled = True Then
Forms(cFormName_M)![btnデータ最終].Enabled = False
End If
End Sub
売上入力の要になるのが、伝票番号。
とても重要な箇所です。
でも、作り方を整理すれば、そんなに難しいものではありません。
次回も売上入力です。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|