Accessの販売管理システム - 商品一覧とは
Accessで作成された販売管理システム(全体仕様)にある「商品一覧」って何?
商品登録で入力した商品が一覧表示されている画面だよ。(メインメニューの[設定]タブにある[商品一覧]ボタンから開くことができるよ。)
画面上部が検索領域で、検索条件に一致した商品がリスト表示されるんだ。商品名称や商品区分などで検索をかけられるから便利だよ。
他にも商品分類などでも検索がかけられるんだね。ところで、「終了」の検索欄が既定でNoになっているけどなんで?
ずっと扱う商品もあるけど、製造中止になったり、リニューアルしたりなど、取り扱いが中止になる商品もある。すでに伝票で利用している商品は整合性を保つために削除してはいけないけど、商品一覧や商品転記画面に表示されるのを避けたいことがあると思うんだ。
そんな時は、商品登録画面の「取扱終了」にチェックをつけておくんだよ。
こうすれば、商品一覧や商品転記画面の検索の「終了」欄がNoになっている限り、リストには表示されないんだ。逆に、「Yes」にすると終了した商品を表示できるんだ。
なるほど。検索の終了欄を「Yes」にすると、取り扱わなかくなった商品を表示できるんだね。
時々、間違って商品登録の「取扱終了」にチェックをつけてしまい、急に商品一覧画面にでなくなることがあります。そのような時には、一度、商品一覧の「終了」検索項目を「Yes」にして、終了リストに入っていなかどうか確認してみてください。
さらに便利な機能として、[並び順変更]ボタンで、商品の並び順も変更できるよ。
商品コード順や、商品区分順(その中で商品コード順)で並べ替えることができるんだね。ところで、どういうプログラムを書くと並び順を変更できるの?
無料でも利用できる便利な販売管理システム(売上仕入在庫管理ソフト)は下記から取得できます。
Accessの便利な使い方
商品を任意の並び順に並べ替えて保存するには、下記の二つの作業が必要になるよ。
① 順番を保存しておくフィールドをテーブルに用意
② Recordsetオブジェクトで順番フィールドを更新
テーブル(データシート)を、VBAで利用するには、DAOというデータをアクセスするためのRecordsetオブジェクトに、テーブル(データシート)を代入するんだ。
代入するデータシートはSQL文で指定できるから、商品コード順に並べ替えるなら、「T_商品マスタ」テーブルを代入する時に、ORDER BY句という並べ替え指定部分で、商品コードを最優先にしてあげるんだよ。後は、上のレコードから順番に連番を付加してあげればいいだけだね。
具体的には、下記のようなコードになるよ。(簡略バージョン)
Function SyouhinOrderby()
'商品テーブルを商品コード順に並べ替えの変更
Dim Rs As DAO.Recordset 'DAOのRecordsetオブジェクト変数を用意
Dim Num As Long
On Error Resume Next
'テーブルを商品コード最優先で並べ替えて、Recordsetオブジェクトで代入
Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_商品マスタ ORDER BY 商品コード,商品ID", dbOpenDynaset)
'テーブルのレコードが空でなければ、実行
If Not (Rs.EOF And Rs.BOF) Then
Rs.MoveFirst '先頭レコードに移動
Num = 1
Do Until Rs.EOF
'順番フィールドに順番を順次代入してレコードを更新
Rs.Edit
Rs!順番 = Num
Rs.Update
Num = Num + 1
Rs.MoveNext '次のレコードに移動
Loop
End If
Rs.Close: Set Rs = Nothing 'Recordsetオブジェクトを閉じる
End Function
Recordsetオブジェクトを利用すれば、テーブルを簡単に操作できて便利なんだね。
Aもっと詳細な設定を知りたい場合、Accessで作成された販売管理システム(売上仕入在庫管理管理ソフト)のソース公開版がお勧めです。
コメント
[…] 商品登録で登録した商品は、商品一覧画面から検索したり、編集できるよ。 […]