
エクセルのリストボックスには、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
どこにもフォーカスを当てたくない
Access(アクセス)
-
-
4
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
5
ACCESSでコントロールソースの変更
Access(アクセス)
-
6
リストボックス(複数選択しない)の場合の選択解除について
Access(アクセス)
-
7
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
8
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
9
TextBoxにフォーカスを与えると文字列が選択された状態にしたい
Visual Basic(VBA)
-
10
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
11
Accessのテーブルを開いたときに最後のレコードを表示させたい
Access(アクセス)
-
12
ACCESS リストボックスの字の色を変えたい
その他(データベース)
-
13
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
14
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
15
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneのキーボードについて。 ...
-
パソコンの@の打ち方がわかりま...
-
キーボード..「ウォ」と「デュ...
-
GalaxyS22を使っているのですが...
-
文字の変換についてわかりませ...
-
キーボードでリピート記号を入...
-
Gboardの予測変換で「日本語パ...
-
英語配列のキーボードには変換...
-
PCのキーボードにFnキーが無い...
-
使ってるパソコンのPとOが入力...
-
PCのキーボードの「H」「C...
-
ノートパソコンのスペースキー...
-
backspaceキー押しても1文字ず...
-
dynabookのfnキーとctrlキー...
-
キーボードキーを押しっぱなし...
-
レノボキーボードのPageup/Down...
-
pcが標準ps/2キーボード...
-
キーボード入力(キー(「Y」「...
-
ノートPCのキーボードで数字...
-
コーラこぼしてキーボードを押...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンの@の打ち方がわかりま...
-
iPhoneのキーボードについて。 ...
-
キーボード..「ウォ」と「デュ...
-
キーボードでリピート記号を入...
-
Gboardの予測変換で「日本語パ...
-
メールアドレスの中にたまにあ...
-
SimejiのミニコンテンツでYouTu...
-
USBの変換コンバータを接続して...
-
ウォの出し方
-
パソコンキーボードの操作を教...
-
accessのListBoxでTopIndexのよ...
-
キーボードアプリShimejiについ...
-
surfacePro3にLogicoolにK275キ...
-
PS2端子のキーボードを生か...
-
パソコンのキーボードで質問で...
-
×の打ち方!至急!
-
キーボードの操作不具合につい...
-
パソコンのキーボードで僕は、...
-
外付けキーボードで漢字変換が...
-
スラッシュの出し方
おすすめ情報