• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS コンボの抽出の再選択時の設定)

ACCESS コンボの抽出の再選択時の設定

このQ&Aのポイント
  • ACCESSの入力フォームで非連結コンボAと連結コンボBを使い、Aで選んだ企業名によりBの選択肢をフィルターしています。
  • 再度Aを変える際に、該当のレコード以外のレコードの企業名も変わってしまう問題があります。
  • 表示されているレコードのみフィルターを有効にする方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

帳票フォームですね 帳票フォームは複数のレコードを表示していますが 使われているコントロールは同じものです 従ってカレントレコードの都合のいいようにコントロールを変えてしまうと カレント以外のレコードの表示がおかしくなってしまいます これに対処するには表示用と入力用のコントロールを 分けてやらなければなりません しかしひとつのフィールドに対してコントロールが2つでは 分かりにくいものになってしまいますから 入力用コントロール(絞込をするコンボ)の上に 表示用のコントロール(絞込をしないコンボ)を重ね 表示用にエンターしたときに入力用にフォーカスを移動してやる というような仕掛けを作ります Private Sub 表示用コンボ_Enter() Me.入力用コンボ.SetFocus End Sub Private Sub 入力用コンボ_Enter() Me.入力用コンボ.Requery End Sub

arkdream
質問者

補足

ご回答ありがとうございます。 上記のようにしてみたところ、コンボにターゲットが合わなくなってしまいました。 片方は変えられるのですが、もう片方は変更が出来なくなります。 これでは、絞込み自体が出来なくなってしまうのですが、なにか良い方法はありませんでしょうか?

その他の回答 (4)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

1回目の回答をよく読んでいただきましたか? オペレーターには一つしか見えないように2つを重ねておいて 入力時に入れ替えるようにするのですよ

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

>コンボA=非連結 これはこのままでいいです コンボBを2つにします コンボB表示用 連結:絞込なし コンボB入力用 連結:絞込あり コンボB入力用の絞込実行はコンボA変更時でなく コンボBフォーカス取得時に行なっています (変更時でもいいですが、その必要がないため)

arkdream
質問者

補足

ありがとうございます。 2つにすると、正しいものが表示されることは知っているので、使ったりしています。 ただ、これだとACCESSをよくしらない入力者に「なんで?」と聞かれることが多いので、2つ表示しない方法を探しています。 実質無理なのでしょうか?

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>コンボにターゲットが合わなくなってしまいました。 どういうことでしょう どちらのコンボも連結コントロールにするのですよ 絞込をしない方から入力出来ないという意味なら その必要はないはずですよね >絞込み自体が出来なくなってしまうのですが 絞込はどのようにしているのでしょう コンボのソースをくえりにしているのじゃないのですか VBAで絞込をしているのならソースをクエリに変えてください

arkdream
質問者

補足

えっと、絞込み大前提なのですが… コンボA=非連結  …こちらを一つ選ぶとコンボBにフィルタがかかる コンボB=連結 …[forms]![入力フォーム]![コンボA]がSQLステートメント:クエリビルダ に入っている。 1、Aを選ぶとBの選択肢が変わる。←クエリ 2、Aを選びなおすとBも選びなおされる。←VBA コレが基本です。AもBも使えないと意味がないのです。 この状態で、2の作業をしたときに、過去のレコードのフォーム上でも再選択のために変わってしまうので、変わらないようにしたいというのが質問事項です。 コンボを連結にすると、うまくフィルタがかからないので、非連結にしてあります。 連結にする場合のフィルタの掛け方を教えてください。

  • miwaharu
  • ベストアンサー率25% (29/112)
回答No.1

こんにちは、違ったらすみません それは、該当レコード以外が変わるのではなくて、 リクエリーした、(コンボAを変更した)レコードの 内容に変わるからではないでしょうか。 これを解消するには、レコード移動時のイベントに Me!支店名.Requery を記載して、レコードを移動するたびに リクエリーする必要があると思います

arkdream
質問者

補足

ご回答ありがとうございます。 >該当レコード以外が変わる のではなく、該当レコードを含めた全てが変わってしまうんです。 実際にテーブルを確認して保存されているデータは正しいものですが、フォーム上で見え方が変わってしまうのはちょっと気持ち悪いので。。。 上記の方法もやってみましたが、現状変わらず、でした。

関連するQ&A