
エクセルのリストボックスには、TopIndexプロパティを設定することにより、任意の行をリストの先頭に表示することが出来ますが。Accessのリストボックスには、TopIndexプロパティが無いように思えます。
例えば、何百もあるリスト(そんなリストは実用性が無いってのは、別問題として)から効率的に、選択するため、例えば、キーボードから"T"と入力したら、"T"で始まる項目(行)が、リストのトップに来るようにしたいと思っています。どのようにすれば、実現可能なのでしょうか?どなたか?詳し方教えて頂けないでしょうか?
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
何百もあるということはリストボックスじゃなくてコンボボックスですね
コンボボックスなら何もしなくても
>キーボードから"T"と入力したら、"T"で始まる項目(行)
までジャンプします
あとはそこでドロップダウンさせて選べばいいだけです
もちろんソースは昇順に並べ替えておいてくださいよ
有難う御座います。
確かに、コンボボックスでも、近いことが出来ますので、その方向でとりあえず進めたいと思います。
問題は、リストが、部分的に昇順に並べられないって点で、ゆくゆくゆっくり考えて解決していきたいと思います。その時は、またお力添えのほど宜しくお願い致します。
No.2
- 回答日時:
>キーボードから"T"と
キーボードから入力された情報(文字)を受け取るのは、普通はコントールやメッセージボックスを介して、になるでしょう。直接受け取るのはAPIなど使えばできるかもしれませんが、本件では論外でしょう。
コントロールといえば、そういう場合はテキストボックスでしょう。
テキストボックスはリストボックスの上辺に接して位置させておく。
(1)テキストボックスから文字情報を受け取る。
イベントは何を使ったらよいか考えてください。
(2)「文字+*」(ワイルドカード)の条件で、候補全アイテムに対し、SQL文を発行して実行し条件のものを抜き出す。
(3)該当して抜き出されたアイテムをListBoxのアイテムに1行目から順次設定。
その際、候補アイテムの並びを、頻度の多いものは最初や前の部においておくか、効果があるなら、SQL文で並び順を指定しておく。
これらはアクセスVBAを全艇にしてます。
コンボボックスのイベントに、文字を入れるとその都度絞られていく
(インテリセンス機能のような)イベントを持たせられるか、あったか調べてみてください。無いと思う。
http://chiebukuro.yahoo.co.jp/service/question_d …
こんなのも載っていました。
精緻にやるならリストボックスの候補アイテムに指定実績頻度を保持するとかしかないでしょうが、複雑になります。
KeyPressで、実現できそうかなぁ?って思い次のような文書いてみました、が上手く行かず奮闘中です。
Private Sub 名称入力_KeyPress(KeyAscii As Integer)
Dim stSQL As String
Input_Text = Me.名称入力.Text & Chr(KeyAscii)
Me.ラベル5.Caption = Input_Text '確認用の仮の表示です。
stSQL = "SELECT 名称取込.名称 " & _
"FROM 名称取込" & _
"WHERE 名称 Like " & Input_Text & "* ;"
Me.名称リスト.RowSourceType = "Table/Query"
Me.盤名称リスト.RowSource = stSQL
End Sub
でも、上手く行きません。
RowSourceType = "Value List" として
RowSource = "1月;2月;3月" とすれば、リストボックスにはちゃんと表示されるので、SQL文を単に代入してもだめなんだぁ?ってところで、止まっています。
教えて頂いた内容をよく読み、もう少し考えてみたいと思います。有難う御座いました。
No.1
- 回答日時:
> キーボードから"T"と入力したら、"T"で始まる項目(行)が、リストのトップに来るように
特に設定しなくても、そうなっていないでしょうか。
もしリストの中身が英数字のみでしたら、リストボックスの「漢字変換モード(IMEMode)」
を「使用不可(Disable)」に設定してお試し下さい。
また、漢字・かな混じりでしたら、同じく「漢字変換モード」を「ひらがな(Hiragana)」に設定
した上で、(入力文字が変なところに表示されるのは気にせずに)そのリストボックスに
先頭文字1個を入力&"確定"させてみて下さい。
(Access97で確認した限りでは、入力・確定させた文字に合致する先頭のアイテムに
移動しました)
・・・ご質問の意図を勘違いしていましたらすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- Excel(エクセル) Excelで質問です。 詳細(写真) ①黄色の部分を全てプルダウンを設定する。 ②リストはG列 ③リ 1 2023/06/16 21:54
- その他(趣味・アウトドア・車) アマチュア無線の「村」まで入った「市郡区番号リスト」を探しています 4 2022/08/27 07:07
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
リストボックス(複数選択しない)の場合の選択解除について
Access(アクセス)
-
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
-
4
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
5
どこにもフォーカスを当てたくない
Access(アクセス)
-
6
TextBoxにフォーカスを与えると文字列が選択された状態にしたい
Visual Basic(VBA)
-
7
ACCESSでコントロールソースの変更
Access(アクセス)
-
8
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
9
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
10
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
11
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
12
リストボックスで選択したレコードを削除
その他(データベース)
-
13
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
14
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
15
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
16
Accessのテーブルを開いたときに最後のレコードを表示させたい
Access(アクセス)
-
17
Accessの「Form_AfterUpdate」イベントが実行されないんですが...
Firefox(ファイヤーフォックス)
-
18
コンボボックス 選択後のカーソル制御
その他(Microsoft Office)
-
19
ACCESS リストボックスの字の色を変えたい
その他(データベース)
-
20
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報