簡易マニュアル
ダウンロード
テーブル一覧
ログイン
フォーム
VBAコード
メインメニュー
フォーム
VBAコード
入出庫処理
フォーム
VBAコード
入出庫履歴
フォーム
クエリ
VBAコード
在庫検索
クエリ
VBAコード
安全在庫
フォーム
クエリ
VBAコード
在庫転送
フォーム
VBAコード
単位変換
フォーム
VBAコード
インポートとテーブルクリア
フォーム
VBAコード
マスタ
BOM構成
フォーム
VBAコード
エラーログ
その他
ハッシュ値
参照設定
バーコード
完成したら
標準モジュールVBAコード
ダウンロード
テーブル一覧
ログイン
フォーム
VBAコード
メインメニュー
フォーム
VBAコード
入出庫処理
フォーム
VBAコード
入出庫履歴
フォーム
クエリ
VBAコード
在庫検索
クエリ
VBAコード
安全在庫
フォーム
クエリ
VBAコード
在庫転送
フォーム
VBAコード
単位変換
フォーム
VBAコード
インポートとテーブルクリア
フォーム
VBAコード
マスタ
BOM構成
フォーム
VBAコード
エラーログ
その他
ハッシュ値
参照設定
バーコード
完成したら
標準モジュールVBAコード
フォーム・F_在庫検索
クエリ・Q_集計
「Q_メイン」クエリを利用して下記のように作ります。
- 計算がありますので、【デザイン】タブを開いて「Σ集計」をクリックしておきます。
- Σ集計をクリックすると、今度は「集計」という行が現れます。下記のように「数量」を計算(合計)できるようにします。
- 「数量の合計:数量」となっているフィールドはプロパティを開いて【表題】を「在庫数」にしておくと、フォームが表示された時に「在庫数」と表示されます。
「品目型式」の抽出条件はVBAで記載します。
※必要に応じて表示させる項目を追加・削除してください。
SQLビュー
SELECT DISTINCTROW Q_メイン.保管場所, Q_メイン.品目コード, Q_メイン.品目型式, Q_メイン.[メーカー], Sum(Q_メイン.数量) AS [数量 の 合計], Q_メイン.単位, Q_メイン.安全在庫, Q_メイン.削除, Q_メイン.指図番号
FROM Q_メイン LEFT JOIN (T_品目 LEFT JOIN T_仕入先 ON T_品目.仕入先コード = T_仕入先.仕入先コード) ON Q_メイン.品目コード = T_品目.品目コード
GROUP BY Q_メイン.保管場所, Q_メイン.品目コード, Q_メイン.品目型式, Q_メイン.[メーカー], Q_メイン.単位, Q_メイン.安全在庫, Q_メイン.削除, Q_メイン.指図番号
HAVING (((Q_メイン.削除)=False))
ORDER BY Q_メイン.保管場所;
VBAコード
「検索ボタン」のプロパティからイベントプロシージャを選択して、下記のようにVBAコード(Ver.2.10)を記載します。
フォーム・F_在庫検索のVBAコード
Option Compare Database
Option Explicit
'---------------------------------
Private Sub Form_Load()
'---------------------------------
'サブルーチンFormInitはM_画面にあります
'---------------------------------
Call FormInit(Me.Form)
Call Form_Resize
End Sub
'---------------------------------
Private Sub Form_Resize()
'---------------------------------
'サブルーチンAdjustWidthはM_画面にあります
'---------------------------------
Call AdjustWidth(Me, Me.SF_在庫検索, 0)
End Sub
'---------------------------------
Private Sub cmd_検索_Click()
On Error GoTo 終了
Dim strFilter1 As String
Dim strFilter2 As String
strFilter1 = str検索フィルタ
strFilter2 = "品目コード < " & lng子品目上限 + 1
With Me.SF_在庫検索.Form
.Filter = strFilter1 & " And " & strFilter2
.FilterOn = True
End With
'---------------------------------
'サブルーチン検索履歴はM_在庫管理にあります
'---------------------------------
If IsNull(cmb_品目型式) = False Then Call 検索履歴(Me.cmb_品目型式) 'コンボボックスの検索ワードをT_検索履歴に追加する
Me.cmb_品目型式.Requery
Exit Sub
終了:
Call エラーログ("F_在庫検索", "cmd_検索_Click")
End Sub
'---------------------------------
Private Sub cmb_品目型式_Change()
Call cmd_検索_Click
End Sub
'---------------------------------
Private Sub cmd_エクスポート_Click()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Q_集計", "在庫管理.xls", True, "在庫数"
MsgBox ("マイドキュメントにエクスポートしました")
End Sub
'---------------------------------
Private Sub cmd_終了_Click()
DoCmd.Close
End Sub
'---------------------------------
' マウスドラッグでフォーム移動
'---------------------------------
Private Sub フォームヘッダー_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And acLeftButton Then
ReleaseCapture
Call SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
End Sub
'---------------------------------
Private Sub 詳細_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And acLeftButton Then
ReleaseCapture
Call SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
End Sub
サブフォーム・SF_在庫検索のVBAコード
Option Compare Database
'---------------------------------
Private Sub Form_Load()
'---------------------------------
'サブルーチンFormInitはM_画面にあります
'---------------------------------
Call FormInit(Me.Form)
End Sub
'---------------------------------
Private Sub 品目型式_DblClick(Cancel As Integer)
On Error GoTo 終了
If SysCmd(acSysCmdGetObjectState, acForm, "F_BOM") = 1 Then 'F_BOMが開いているかどうか
Forms![F_BOM]![cmb_子品目コード].Value = Me.品目コード.Value
Forms![F_BOM]![lbl_子品目型式].Caption = Me.品目型式.Value
Forms![F_BOM]![cmb_保管場所].Value = Me.保管場所コード.Value
Forms![F_BOM]![lbl_保管場所].Caption = Me.保管場所.Value
Forms![F_BOM]![cmb_単位].Value = Me.単位コード.Value
Forms![F_BOM]![lbl_単位].Caption = Me.単位.Value
DoCmd.Close
ElseIf SysCmd(acSysCmdGetObjectState, acForm, "F_入出庫処理") = 1 Then
Forms![F_入出庫処理]![cmb_品目].Value = Me.品目コード.Value
Forms![F_入出庫処理]![lbl_品目].Caption = Me.品目型式.Value
Forms![F_入出庫処理]![cmb_保管場所].Value = Me.保管場所コード.Value
Forms![F_入出庫処理]![lbl_保管場所].Caption = Me.保管場所.Value
DoCmd.Close
Else
End If
Exit Sub
終了:
Call エラーログ("SF_在庫検索", "品目型式_DblClick")
End Sub