- 締切済み
Access コンボボックスを使って抽出
Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Gin_F
- ベストアンサー率63% (286/453)
タイプミスが。。 > strWhere = "[商品名] = '" ' Me!条件商品名 & "' And " strWhere = "[商品名] = '" & Me!条件商品名 & "' And " ですね。
- Gin_F
- ベストアンサー率63% (286/453)
いくつか方法はありますが、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