フォームの商品取引先設備名 4個のコンボボックスで抽出
1 クエリの作成 名前 商品フィルター
2 クエリ商品フィルターを元にフォーム名商品フィルターサブを作成
グループ(製造名) 設備名 商品区分名 取引先をコンボボックスで抽出する。
グループのコンボボックスは、設備名の絞り込みにも対応しています。
各コンボボックスで入力されなかった場合は、全てのレコードが抽出されます。コンボボックスで選択して、抽出クリック
コンボボックス4個 テキスト2個 コマンドボタン1個 サブフォーム
赤字が各コンボボックス・テキスト名の名前 クエリの商品フィルターの抽出条件で使う。
フォーム名 商品取引先設備名
サブフォーム名 商品フィルターサブ(レコードソース クエリ名商品フィルター)
クエリの作成 名前を商品フィルターとした。
検索方法として、グループ1名 から設備名を絞り込み 商品区分と取引先 4つの検索方法とした。
そして隠れテキストを使って発行日日付は規定値としている。商品開始日から商品終了日
3 抽出するフォームの作成 フォーム名商品取引先設備名
値集合ソース
クリック グループ1ドロップ
SELECT [設備区分・予算番号1].[グループ1] FROM 設備区分・予算番号1 GROUP BY [設備区分・予算番号1].[グループ1] ORDER BY [設備区分・予算番号1].[グループ1];
クエリで作ったフォーム商品フィルターサブを編集できないようにする。
フォームのプロバティ 左上の■をクリック
右クリック プロバティ左クリック
プロバティ すべてかデータで はいを
いいえに変更
更新の許可 いいえ
削除の許可 いいえ
追加の許可 いいえ
フォームのプロバティ 商品取引先設備名
フォーム商品取引設備名で4個のコンボボックスを作ってから
コンボボックスの名前をクエリ商品フィルターの抽出条件にいれる。
クエリ名商品フィルターの抽出条件にコンボボックス名の式を書き込む
グループ1の抽出条件に
Like "*" & [FORMS]![商品取引先設備名]![コンボ17] & "*"
設備名
Like "*" & [FORMS]![商品取引先設備名]![設備名検索] &
"*"
業者名
Like "*" & [FORMS]![商品取引先設備名]![取引先検索] &
"*"
商品区分名
Like "*" & [FORMS]![商品取引先設備名]![商品区分名検索] &
"*"
Like"*" & すべて コトロールに何も入力されなかった場合全てのレコードが抽出
[FORMS]![フォーム名]![コンボボックスの名前]&"*"
発行日
Between [Forms]![商品取引先設備名]![商品開始日] And [Forms]![商品取引先設備名]![商品終了日]
フォームでは隠れテキストを作っている
Between 99/10/10 And Date() 何日から何日まで抽出規定値としている。
マクロ マクロ名商品検索 再クエリを作って
コマンドボタン名商品抽出のプロバティ クリック時にマクロを設定する。
マクロ名 商品検索(商品フィルターサブフォームが抽出ボタンをクリックすると更新します)
再クエリ サプフォームを最新の状態に更新する
テキストボックス 商品開始日と商品終了日のボタンのプロバティの 更新後処理で
マクロ名商品検索 マクロで 再クエリを設定する
イベントプロシージャのやり方でも同
グループ1は抽出するとともに設備名の絞り込みも設定 もう一度説明します
コンボボックス名 ”コンボ17” のプロバティの更新後処理に
再クエリ イベントプロシージャを設定
Private Sub コンボ17_AfterUpdate()
DoCmd.Requery "設備名検索" 'コンボボックスの名前と連携します
End Sub
更新後処理をしないと絞れません
コンボボックス名 ”設備名検索”のプロバティーの値集合ソースのグループ1の抽出条件に コンボ17で選ばれたグループ1と同じ設備名を抽出する条件式クエリビルダ これでグループ1と一致した設備名が絞り込まれます。数が多い時には便利です
設備区分・予算番号1のクエリビルダのグループ1の抽出条件にLike [forms]![商品取引先設備名]![コンボ17]
& "*"
グループ1を右クリック集計をクリック グループ化
と昇順とする。
境界線を透明 黄色と白色 フォームのデザインを工夫してみて下さい
抽出条件 ここにも条件を挿入してください
グループ1で選ばれた設備名だけが選ばれる
コンボ17のプロバティの更新後処理に再クエリ イベントプロシージャを設定
Private Sub コンボ17_AfterUpdate()
DoCmd.Requery "設備名検索" 'コンボボックスの名前と連携します
End Sub