プロが教えるわが家の防犯対策術!

Access初心者のものです。

Accessで商品管理のデータベースを作成しています。
主なテーブルの内容は、
商品番号、商品名、メーカー名、仕入数、仕入単価、販売数、販売単価、などです。

今度は、在庫一覧のフォームを帳票フォームで作りました。そこで、入荷数、販売数などを入力し、現在庫状況をみれる形にしました。

そこでですが、そのフォームである特定の商品を探す際にメーカー名という一つのフィールドに関して抽出する方法はある本を見て抽出することができました。
以下は本をみていれたものです。
   -----------------------------------------

「仕入先抽出_コマンド」 → 抽出開始の為のコマンドボタン
「仕入先抽出条件」 → 抽出したい仕入先名を入力するテキストボックス名
「仕入先」 → 抽出をかける仕入先のフィールド


Private Sub 仕入先抽出_コマンド_Click()
If IsNull(Me!仕入先抽出条件) = True Then
Beep
MsgBox "抽出する仕入先を選んでください。", _
vbOKOnly + vbInformation, "抽出仕入先チェック"
Me!仕入先抽出条件.SetFocus
Exit Sub
End If

Me.Filter = "仕入先 = '" & Me!仕入先抽出条件 & "'"
Me.FilterOn = True
If Me.Recordset.RecordCount = 0 Then
Beep
MsgBox "仕入先抽出条件と一致するレコードは存在しません!", _
vbOKOnly + vbInformation, "レコードなし"
Me!仕入先抽出.SetFocus
End If
End Sub

   -----------------------------------------

ここで抽出したものから更に、メーカー名で抽出をかけて絞り込みしたいと考えております。
できれば2段階、3段階(商品情報は仕入先、メーカー名以外にもあるので…)といきたいのですが、何か方法がありますでしょうか?

宜しくお願致します。

A 回答 (1件)

解答付きませんね・・・



参考例で上げときますね

Private Sub 仕入先抽出_コマンド_Click()

Dim usFilter As String

usFilter = ""

If IsNull(Me!仕入先抽出条件) Then
usFilter = "仕入先 = '" & Me!仕入先抽出条件 & "'"
End If
' フォームに「Me!メーカー名抽出条件」がある前提
If IsNull(Me!メーカー名抽出条件) Then
usFilter = IIf(usFilter = "","",usFilter & " And ") & _
"メーカー名 = '" & Me!メーカー名抽出条件 & "'"
End If
' この後、If IsNull(Me!メーカー名抽出条件) ThenからEndIfまでを繰り返すだけ

If usFilter = "" then
Me.FilterOn = False
Else
Me.Filter = "仕入先 = '" & Me!仕入先抽出条件 & "'"
Me.FilterOn = True
If Me.Recordset.RecordCount = 0 Then
Beep
MsgBox "仕入先抽出条件と一致するレコードは存在しません!", _
vbOKOnly + vbInformation, "レコードなし"
Me!仕入先抽出.SetFocus
End If
End If

End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!