Access(ADP & VBA)とMSDEで作るクライアントサーバーシステム(c/s)

 
実践テクニック、Accessで作るクラサバシステム



2006/01/31配信
 

第6コース  第8回 「営業所マスタリストの作成」




 

 久しぶりにリストの作成をします。

 営業所マスタリストの作成、1回目です。

 早速、はじめましょう。

-------------------------------------------------------------------

 営業所マスタリスト

 フォーム名、項目名の作成

  フォームにマスタの項目を作成します。

 1.フォーム名の設定

  1-1.プロパティの内容

   表題         営業所マスタリスト

 2.項目名の設定 

  2-1.ラベルの作成

   印刷順、カナ名、営業所コードを作成して下さい。

  2-2.印刷順(オプショングループ)

  2-3.印刷年(テキストボックス)

   2-3-1.カナ名順(オプションボタン)
     ラベル名はカナ名順にします。

   プロパティの内容
    名前           optカナ名順
    オプション値      1
    使用可能        はい
    編集ロック       いいえ

   2-3-2.営業所コード順(オプションボタン)
     ラベル名は営業所コード順にします。

   プロパティの内容
    名前           opt営業所コード順
    オプション値      2
    使用可能        はい
    編集ロック       いいえ

  3-1.開始のカナ名(テキストボックス)
    カナ名には、範囲指定ができるようにします。
    プロパティの内容
     名前            staカナ名
     IME入力モード保持  いいえ
     IME入力モード     半角カタカナ
     IME変換モード     無変換

  4-1.終了のカナ名(テキストボックス)

    プロパティの内容
     名前            endカナ名
     IME入力モード保持  いいえ
     IME入力モード      半角カタカナ
     IME変換モード     無変換

  5-1.開始の営業所コード(テキストボックス)
    営業所コードには、範囲指定ができるようにします。
    プロパティの内容
     名前             sta営業所コード
     書式             00
     IME入力モード保持  いいえ
     IME入力モード     オフ
     IME変換モード     一般

  6-1.開始の営業所コード(テキストボックス)

    プロパティの内容
     名前           end営業所コード
     書式           00
     IME入力モード保持  いいえ
     IME入力モード     オフ
     IME変換モード     一般

  7-1.印刷月(テキストボックス)

    プロパティの内容
     名前          印刷月
     書式          00
     使用可能       はい
     編集ロック       いいえ

  8-1.印刷日(テキストボックス)

    プロパティの内容
     名前          印刷日
     書式          00
     使用可能       はい
     編集ロック       いいえ

  9-1.印刷時間(テキストボックス)

    プロパティの内容
     名前          印刷時間
     使用可能       はい
     編集ロック       いいえ

 3.ボタンの設定

  3-1.プレビューボタン 
    名前          btnプレビュー
    表題          プレビュー(F5)

  3-2.印刷ボタン
    名前          btn印刷
    表題          印刷(F8)

  3-3.終了ボタン
    名前          btn終了
    表題          終了(End)

-*-------*-------*-------*-------*-------*-------*-------*-------*-

 2-1.formの処理

  2-1.form → load

   formのloadは、画面を開いた場合に1回だけ通る処理です。

     '◎ポイント解説 1 -----*-----*-----*-----

Set cn = Application.CurrentProject.Connection
cn.CursorLocation = adUseClient

     '◎ポイント解説 2 -----*-----*-----*-----

[印刷年].Enabled = True
[印刷月].Enabled = True
[印刷日].Enabled = True
[印刷部数].Enabled = True
[sta営業所コード].Enabled = True
[end営業所コード].Enabled = True
[staカナ名].Enabled = True
[endカナ名].Enabled = True

     '◎ポイント解説 3 -----*-----*-----*-----

tDate = Date
Forms(cFormName_M)![印刷年] = Year(tDate)
Forms(cFormName_M)![印刷月] = Month(tDate)
Forms(cFormName_M)![印刷日] = Day(tDate)

Forms(cFormName_M)![印刷時間] = Format$(Hour(Time), "00") & ":" & Format$(Minute(Time), "00")
Forms(cFormName_M)![印刷部数] = 1
Forms(cFormName_M)![sta営業所コード] = 0
Forms(cFormName_M)![end営業所コード] = 99
Forms(cFormName_M)![staカナ名] = " "
Forms(cFormName_M)![endカナ名] = "ンンンンンンンンンンン"

     '◎ポイント解説 4 -----*-----*-----*-----

[btn印刷].Enabled = True
[btn終了].Enabled = True

     '◎ポイント解説 5 -----*-----*-----*-----

[印刷順].SetFocus


 1-1.◎ポイント解説 1 について

    データを接続します。

 1-2.◎ポイント解説 2 について

    テキストを使える状態にします。

 1-3.◎ポイント解説 3 について

    デフォルト(初期値)現在の日付を求めます。
    それを印刷のテキストボックスに送ります。
    帳票に印刷させるためです。

    ここでは数字タイプは、00〜99を文字タイプは、カナの最小値
    から最大値にしています。

    初期値を全て空白にして内部的に処理する方法も考えられます
    どちらでも構わないと思います。

    でも、統一した形にしてください。
    ある帳票は、空白で作っているのに、こちらの帳票では、数値が
    入っていると言う事はやめましょう。
    オペレータが迷ってしまいます。

 1-4.◎ポイント解説 4 について

    ボタンを使える状態にします。

 1-5.◎ポイント解説 5 について

    印刷順にフォーカス(焦点)をセットします。

 注意

   Forms(cFormName_M)![endカナ名] = "ンンンンンンンンンンン"
 半角は、メルマガではエラーとなりますので記述しましたが
 実際は、半角の"ン"が40文字となります。

-*-------*-------*-------*-------*-------*-------*-------*-------*-

  2-2.form → Unload

cn.Close
Set cn = Nothing

 接続を開放します。
 終了時には、必ず開放して下さい。

-*-------*-------*-------*-------*-------*-------*-------*-------*-

  2-3.form → KeyDown

  リスト関係もキーボード処理を施します。
  フォーム上で何かしらのキーが押されたときの処理です。

On Error GoTo Form_KeyDown_err

Select Case KeyCode

Case 116 'プレビュー(F5)
If btnプレビュー.Enabled = True Then
btnプレビュー.SetFocus
SendKeys "{ENTER}"
NumLock_処理
End If

Case 119 '印刷(F8)
If btn印刷.Enabled = True Then
btn印刷.SetFocus
SendKeys "{ENTER}"
NumLock_処理
End If

Case 35 '終了(END)
If btn終了.Enabled = True Then
btn終了.SetFocus
SendKeys "{ENTER}"
NumLock_処理
End If

End Select

Exit Sub

Form_KeyDown_err:

MsgBox "エラーが発生しました。再度、見直してください。", _
vbCritical, "エラー"


 Form上のキーボードイベント取得を「はい」にすると
 Form上のKeyDownを優先されます。

 マウスは極力使わないというより、要らないに等しい入力ができる。
 これもこのシステムの特徴。
 これで、入力の速度は一気に向上します。


 次回も営業所マスタリストの作成です。

===================================================================

                ◆ 実践テクニック、Accessで作るクラサバシステム ◆

  編集・構成:高橋浩
  提供・発行:ティウェア

http://www.1tware.com/index.html

Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築

※当メールマガジンに掲載された記事を許可なく転載することを禁じます。

===================================================================

実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)

SEが10年以上の開発ノウハウを惜しみなく完全公開!

Mail:  (半角英数字)     Powered byまぐまぐ


HOME / お客様の声 / メルマガ / 販売管理ソフト教材 / 会社概要/ 特定商取引法/ お申し込み
 お問い合わせ / メルマガのご意見ご感想 / メルマガのバックナンバー/ プライバシーポリシー
 


 Copyright (c) 2001 ティウェア All rights reserved.