大島紬|みさやま紬|士乎路紬などオリジナル商品を全国に提供
室町の加納株式会社


戻るボタン 次へボタン

Accessで作る顧客管理システム


◆ 顧客登録編集フォーム1

顧客登録編集は入力が多いフォームです。通常は非常に細かな制御が必要ですが、今回は簡単に作っておきます。実際に長年使用している人に聞いてますが、別段問題は無いようです。今回は簡単なVBA(Visual Basic for Applications)という言語を使って操作性を高めていきます。
◆ 顧客登録編集フォームの新規作成
分類編集と同様に、ウイザードを使用してフォームを作成します。フォーム名はfrm顧客登録編集にします。フォームのプロパティは、分類編集を参考に編集してください。
ウイザードで作成したままでは、たとえば住所などのテキストボックスの長さが短すぎて、入力時に文字が全て表示されません。フォーム全体をもう少し大きくして、入力しやすくします。顧客管理の最初のページを参照してください。コントロールの種類を変えてある物があります。また上の部分は追加してあります。
文字サイズも11程度にした方が見やすいと思います。この場合は複数選択して上のツールバーで一括して変更します。また、配置を揃える場合はメニュー→書式→配置で行います。コントロールのサイズもサイズ変更から行います。
もう一つ変更箇所があります。分類1のラベルの名前を変更してくだい。プロパティのその他から行います。分類1_ラベルからlabel分類1に。同じように2から8までも行ってください。これは、全角カタカナを使用しない為です。
一度保存をしておきます。名前は、frm顧客登録編集
顧客登録編集の初期画面
◆ 分類Mの内容を表示するVBA
フォームのプロパティのイベントの読み込み時の空白をクリックして[イベントプロシージャ]を選択します。そしてその横の[・・・]ボタンをクリックします。
Private Sub Form_Load() と End Sub の間に次のように記載します。

Private Sub Form_Load()
 Me.label分類1.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 1")
 Me.label分類2.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 2")
 Me.label分類3.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 3")
 Me.label分類4.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 4")
 Me.label分類5.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 5")
 Me.label分類6.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 6")
 Me.label分類7.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 7")
 Me.label分類8.Caption = DLookup("[分類名]" , "分類M" , "[分類CODE] = 8")
End Sub

注意 ドットなど小さな文字がありますのでコピーして使用してください。

入力が終わったら、保存ボタンを押してから終了します。フォームビューで開いて確認してください。
[解説]
今回のようにフォームを呼び込んだ時などに発生させるプログラムの塊(プロシージャ)をイベントプロシージャと呼びます。プロシージャにはSubとFunctiontがあります。Functionは実行結果を返す必要がある場合に使用します。自作の関数とも言えます。

DLookupはAccess関数です。条件にあったレコードを検索する関数です。分類Mにある分類名フィールドを検索します。条件は分類CODEが1の時となります。
Me.は自分自身のという意味で、このフォームになります。その中のlabel分類1の標題を右に書かれた内容に変更します。
これを8個のラベルに適用しています。
DLookupは処理速度が遅い為、このようなレコード数が少ないテーブルの検索に使用します。
◆ コマンドボタンを作成して、イベントプロシージャを自動登録
レコード移動用のコマンドボタンを作成します。
1先頭レコードに戻るボタン       cmd先頭
2一つ前のレコードに戻るボタン  cmd戻る
3一つ後のレコードに進むボタン cmd進む 
4最終レコードに進むボタン          cmd最終
5新規レコードに進むボタン          cmd新規
6取消ボタン                                    cmd取消
7終了ボタン                                    cmd終了
これらのボタンを作る場所は、フォームの詳細ではなく、フォームヘッダーに作ります。
フォームヘッダーを表示させるには、フォームヘッダーと詳細の境界でアイコンが変化した状態のまま、下へドラッグするとフォームヘッダー領域が表示されます。
作成するボタン
◆ コントロールウィザードを使用
今回のコマンドボタンを作る時は、ツールボックスの上段真中にある[コントロールウィザード]を使用します。このボタンを押してから、コマンドボタンをクリックしてフォーム上に作成します。

先頭レコードに戻るボタンは、ウィザードでレコードの移動→先頭レコードに移動を選び[次へ]を押します。
画面が変わりますので、ピクチャを選択して右の中から好きな画像を選択します。(左上にサンプルが表示されます)[次へ]を押して、コマンド名をcmd先頭とします。同様に2から4までを作ります。
5新規レコードはウイザードのレコード操作→新しいレコードの追加を選択します。
6取消ボタンは、レコード操作→レコードを元に戻すを選択します。これは編集中のレコードを元に戻す時に使用します。ただしレコード移動すれば確定してしまいます。
7終了は、frm分類編集を参照してください。

作成したコマンドボタンの一つをダブルクリックし、イベント→クリック時のイベントプロシージャを開いてください。自動的に各イベントプロシージャが作られています。
ツールボックス
戻るボタン 次へボタン


Copyright(C) Muromachi no Kanou Inc. All Rights Reserved お問い合わせ 会社概要 著作権について