ACCESS2003のコンボボックスで入力候補が出ません
先日似たような質問をさせていただきましたが、まだ未解決なのでまた質問させてください。
OSはWindows XP Professional SP3 です。OFFICE2003 Professional SP3 です。
Access2003 sp3 で自作した一覧フォームにコンボボックスを設定しています。
コンボボックスの値集合リストにクエリをあてています。
同じ値のレコードが多数ありますので、リスト表示が重複しないようにクエリで集計しています。
連結列は1つで単純な単語集です。経理の科目を表示しています。
そこに、データを入力しようとして途中まで入力します。例えば、”売掛”と入力した時点でリストに存在する”売掛金”が表示されます。
これは問題ないのですが、他の単語は出ない時があります。
例えば”広告”と入力した時、”広告宣伝費”という単語が登録されているのに出てきません。
調べた結果、リストにある上位50レコードまでが候補に出てきますが、51以下のレコードは出てきません。
ただし、クエリで集計などを使わない単純なリストでは、ちゃんと候補が出てきます。
クエリで集計などを行うと、コンボボックスの上位50レコードまでしか入力候補が出てきません。
ちなみに、まったく同じものをAccess2007で実行したら、ちゃんと全ての候補が出てきます。
sp3以前はこんなことはなかったように思います。
そこで、Access2003 sp3 の修正パッチをあててみたのですが変化ありませんでした。
長文で申し訳ございませんが、誰か解決方法をご存知の方がいらっしゃいましたらご指導お願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
私も同じ現象で苦労しましたが、結局はACCESS2003のバグのようです。
マイクロソフトのサポートページです。
http://support.microsoft.com/kb/907391/ja
私は、該当のコンボボックスがフォーカスを取得したときに、イベントでopenになるようにすることでこの問題を回避しています。
ご質問からずいぶん時間が経っているのでもはや解決済みかもしれませんが、ご参考になればと思い、回答させていただきました。
しかし、こんなバグを修正してくれないマイクロソフトって、困ったものですね。
No.3
- 回答日時:
不具合が特定できたものの、確かにはっきりしないですね。
最小限で絞り込みして51以上なるのでしょうか。
リストボックスはどうなんでしょうか。
再クエリ、再描画でも同じでしたか。
実現を考えると、
もう1つ選択クエリかテーブル作成を実施し、50以下に絞り込みした後で、
コンボボックスに表示、かと思われます。
もしくは、コンボボックス表示に拘らないで、
小さいポップアップフォームにでもする。
ご回答ありがとうございます。
私の表現が下手なのでうまくお伝えできていないかもしれません。
再クエリや再描画は入力が確定した後の処理になるので駄目でした。
そもそも、私の言う”入力候補”というのは、コンボボックスで出てくるリスト表示の事ではありません。したがいまして、リストはどんな場合でも表示されます。
私がお伝えしたい現象をもう少し説明させてください。
例えば、エクセルで A列に単語を縦に並べたとします。
その単語は日本語とし、同じ単語も複数あります。
そこで、A列の一番最後のセルにデータを入力するのですが、
この時、すでにA列にある単語を入力しようと途中まで入力したら
A列にすでにある単語が”候補”として表示されると思います。
私の言う”候補”とはこれの事なんです。
それを、Accessのコンボボックスでやろうとしているのです。
クエリで絞り込みや合計をすると、何故かリストに表示される上位50個の単語のみが
候補として出てきます。
テーブルにあるレコードの内容はかなりシンプルにしていますが、結果は同じです。
何よりもAccess2007では、そのような現象が起こらないというのも変です。
他のPCでやってもやはり結果は同じでした。
No.2
- 回答日時:
>コンボボックスの値集合リストにクエリをあてています。
できていることとできていないことと明確にしながら、
1つ1つ見直しし、クリアしていくこととしてください。
コンボボックスの値集合リストにテーブル(=条件無し、全件相当)をあててみてください。
それがクリアできたら、クエリにしてクエリデザインから実行する。
それがクリアできたら、コンボボックスをクエリにしてみる。
コンボボックスを操作する直前に再クエリを実行してみる。
基本的な動きと思われますので、sp3は関係ないと思いますし、
sp3対応の中にコンボボックス関連があったか確認してから実施してください。
当てたらうまくいくかも、でうまくいった試し少ないです。
ありがとうございます。
質問前にいろいろ調べていましたが、再度ゼロからテーブルを作りなおして検証してみました。
結果、テーブルに同じテキストデータのレコードがある場合 = 正常に候補で出ました。
テーブルに同じテキストデータのレコードがない場合 = 正常に候補で出ました。
重複データの有無にかかわらず正常に候補が出ました。
次に、このテーブルを基にしただけのクエリを値集合ソースに適用した = 正常に候補がでました。
このテーブルを基に集計したクエリを値集合ソースに適用した = 異常がでました。
どうも、クエリで集計すると異常が出るっぽいです。
テーブルにインデックスを設定していても変化ありませんでした。
異常時、何故かリストの並び順で50番目までは正常に候補が出てきますが、51番目以降は候補が出てきません・・・
No.1
- 回答日時:
補足要求。
何回も同じような質問をしているが、前とどう違うのか。前のも読んだが、くどくて、答える気がしなかった。質問の内容が判らない。
コンボボックスのアイテムに表示するところの、材料になる基データはどういうデータで、
・抜き出し(余分なものを捨てる)
・Distinct化 (重複出現を1度の出現にする)
が必要(したい)なのかな。>重複しないようにクエリで集計しています、の意味がわからない。
ーー
簡単で少数のデータ例をあげて現状と望むコンボに表示したい結果を例示してはどうですか。
コンボの表示列は複数ですか。
この回答への補足
長文ですみません。現状の説明が難しくて表現に困ってます。
コンボボックスの材料になる基データは、日付データとテキストデータと数値データのテーブルです。
このテーブルには同じ値のテキストデータが複数あります。
このテーブルを基にクエリを作成して、そのクエリを値集合ソースにしています。
何故クエリを作成しているのかというと、このテーブルデータのままでは、日付が違うだけの同じ値のテキストデータが並んでしまい、選択し難いリストになってしまいます。
なので、クエリで数値データを集計してテキスト別にまとめています。
このリストの意味ですが、日常の作業としてテーブルレコードを入力して追加しています。
新規のテキストデータ(リスト外データ)が入力された場合、次回のリスト選択時にはリストに追加されているようにする為です。
コンボの表示列は1つです(テキストデータ)
うまく説明できなくてスミマセン
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Android Androidの単語登録ができない 1 2023/04/17 13:17
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Java Java 配列<選挙> 4 2023/07/31 15:07
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- その他(パソコン・周辺機器) WINDOWS11 IMEの日本語入力で困っています 4 2023/04/29 19:24
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- 新卒・第二新卒 自衛官候補生(海上)に落ちて(不合格になって)しまいました。 対策はしっかりとしていて、万全の状態で 1 2023/07/07 19:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
VBA コンボボックスの重複削除
-
Access レポート印刷するときに...
-
YahooのIDがロックされてしまい...
-
クエリで出来た表にチェックボ...
-
レコードを保存するコード ア...
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
フォームで入力しても反映されない
-
「フォームを作成できませんで...
-
Word縦書きで左から右への行
-
Accessでフォーム上に 直前の...
-
マイクロソフト アクセス2021の...
-
Accessで、フォームからフォー...
-
Accessフォームからパラメータ...
-
アクセスで「モジュールがあり...
-
エクセルをACCESSのレポ...
-
EXCEL VBAのユーザーフォームに...
-
Access 「このレコードを保存す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
コンボボックス 選択後のカー...
-
VBA コンボボックスの重複削除
-
Dcount関数が表示されない。
-
Access 数十件のデータからの...
-
CrystalDiskinfoの使い方!HDD/...
-
Accessのコンボボックス内項目...
-
Access 2016 のプロパティ(プル...
-
エクセルVBA コンボボックスで...
-
4月開始年度の月と日を連動さ...
-
access 検索結果をテキストボッ...
-
ACCESS2003のコンボボックスで...
-
java初心者です。
-
ActiveXコントロールのコンボボ...
-
Accessで、コンボボックスから...
-
ユーザーフォーム上にあるコン...
-
【Access2010】フォーム内のコ...
-
ドロップダウンリスト
-
Accessで家計簿を作っているの...
-
エクセルVBAユーザーフォー...
おすすめ情報