• 締切済み

Access コンボボックスを使って抽出

Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

タイプミスが。。 >   strWhere = "[商品名] = '" ' Me!条件商品名 & "' And "   strWhere = "[商品名] = '" & Me!条件商品名 & "' And " ですね。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

いくつか方法はありますが、VBAでフィルタプロパティを設定してやる方法の例です。 クエリで、 フィールド|*   |年月:Format([日付],"yyyymm")  抽出条件|    |Format(Now(),"yyyymm")   のように作成し、このクエリを元にフォームを作成してください。 #これで、当月分のみ抽出することができます。 フォームで、フォームヘッダーに抽出条件入力用のコントロール(コンボボックス)を 作成してください。 あと、コマンドボタンを1つ。 抽出条件を入力後、コマンドボタンをクリックすると抽出されるような仕組みです。 コンボボックス名:条件商品名          条件業者名 コマンドボタンのクリック時イベントで、[イベントプロシージャ] を選び、 右側に出てくる、... をクリックしてでてくる画面に以下のコードをコピーしてください。 Dim strWhere As String If Not IsNull(Me!条件商品名) Then   strWhere = "[商品名] = '" ' Me!条件商品名 & "' And " End If If Not IsNull(Me![条件業者名]) Then   strWhere = strWhere & "[業者名] ='" & Me!業者名 & "' And " End If If Len(strWhere) > 0 Then   Me.Filter = Left(strWhere, Len(strWhere) - 5)   Me.FilterOn = True Else   MsgBox "条件を選択してください。" End IF