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

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



2006/04/04配信
 

第7コース  第1回 「担当者マスタリストの作成」




 

 第7コースがいよいよ始まります。

 帳票が続きますが、担当者マスタリストの作成をします。
 担当者マスタリストの作成、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.