Accessの販売管理システム - 社員一覧とは
Accessで作成された販売管理システム(全体仕様)にある社員の情報ってどうやったら編集できるの?
社員登録した情報は、一覧画面で検索をかけて再度表示できるんだ。また、社員一覧画面では既存の登録を複製したり、削除もできるよ。(社員登録から入力したデータを表示する社員一覧画面は、メインメニューの[設定]タブにある[社員一覧]ボタンから表示できるよ)社員一覧画面は下記のような画面なんだ。
登録した社員(情報)がどんんどん追加されていくんだね。
無料でも利用できる便利な販売管理システム(売上仕入在庫管理ソフト)は下記から取得できます。
Accessの便利な使い方
その通りだよ。じつは、「T_社員マスタ」というテーブルの中に保存されている情報を一覧に表示しているんだ。
でも、検索をかけるとテーブルのレコードの一部しか表示されないよね。どうやって制御しているの?
いい質問だね。じつは、検索欄のテキストボックスの「更新後処理」プロパティに、一覧フォームに表示するレコードを制御するプログラムを設定しているんだ。プログラムは「イベントプロシージャ」に記載しているよ。
イベントプロシージャには、次のようなプログラムが書いてあるよ。(簡略バージョン)
Private Sub txt社員名称_AfterUpdate()
Dim Sqls As String
Dim W As String
Dim O As String
'SELECT ~ FROM ~ テーブルの指定
Sqls = "SELECT T_社員マスタ.*, T_課マスタ.課名称, T_部門マスタ.部門名称 FROM (T_社員マスタ LEFT JOIN T_課マスタ ON T_社員マスタ.課ID = T_課マスタ.課ID) LEFT JOIN T_部門マスタ ON T_課マスタ.部門ID = T_部門マスタ.部門ID"
'WHERE ~ 社員名称の検索欄が空欄でなければ部分一致で絞り込み
W = ""
If Nz(Me.txt社員名称, "") <> "" Then W = " WHERE 社員名称 Like '*" & Me.txt社員名称 & "*'"
'ORDER BY ~ 並び順の指定
O = " ORDER BY T_社員マスタ.順番"
'新たなSQLをレコードソースに代入
Me.RecordSource = Sqls & W & O
'レコードを再表示
Me.Requery
End Sub
Like演算子は、フィールドに特定の文字を含むレコートを検索したい場合に利用するんだ。
ワイルドカードという任意の文字を表す記号*(アスタリスク)と併用して利用するよ。
SELECT * FROM T_顧客マスタ WHERE 電話番号 Like “*01*”
SELECT * FROM T_顧客マスタ WHERE 電話番号 Like “01*”
SELECT * FROM T_顧客マスタ WHERE 電話番号 Like “*01”
なるほど。*の置き方で、部分一致、先頭一致、最後一致が決まるんだね。*は任意の文字列を意味するという訳か。便利な記号だな。
もっと詳細な設定を知りたい場合、Accessで作成された販売管理システム(売上仕入在庫管理管理ソフト)のソース公開版がお勧めです。
コメント
[…] そのとおりだよ。登録した社員は、社員一覧画面から検索したり、編集ができるから覚えておいね。 […]