accessフォームにリストの大分類、小分類があって
【大分類リスト】【小分類リスト】
大分類はテーブルから、項目を読み取っているのですが
小分類の読み取り方に悩んでいます。
小分類テーブルは項目+該当する大分類があるのですが
その大分類によって、選択した項目によって
もう一つのリスト(小分類)の選択出来る項目を変化させていのですが
vbaで、sql文実行
vbaで、クエリ実行
adoで、テーブルから読み取って、ループして該当する項目を追加
みなさんは、どんな方法使いますか?
access2016です。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
絞り込み検索ってやつですよね?
具体例の提示がないので、よくある例で住所をテーマにしてみます。
簡単に言うと、動的に RecorsSource プロパティーを切り替えてます。
・テーブル構成(添付図左上)
郵便番号CSVからインポートした「住所マスタ」テーブル。
・テーブルデータ(添付図下)
約13万弱のレコードがあります。その冒頭の様子。
・検索フォーム(添付図右上)
配置コントロール1 大分類 都道府県 名前 cboPref
配置コントロール2 小分類 市区町村 名前 cboCity
・VBA ソース中の SQL について
1: Group By ~ は重複データを排除しています。
2: Order By Min([ID]) はデータ並びをID順で保持しています。
添付図がぼやけてないといいけど。では。
' [以下 フォーム1 のソースコード]
’
Private Sub Form_Load()
Dim sql As String
sql = "SELECT [pref] " _
& "FROM [住所マスタ] " _
& "GROUP BY [pref] " _
& "ORDER BY MIN([ID]);"
With cboPref '大分類 都道府県
.ColumnCount = 1
.BoundColumn = 1
.RowSourceType = "Table/Query"
.RowSource = sql
End With
With cboCity '小分類 市区町村
.ColumnCount = 1
.BoundColumn = 1
.RowSourceType = "Table/Query"
.RowSource = ""
End With
End Sub
Private Sub cboPref_Change()
Dim sql As String
sql = "SELECT [city] " _
& "FROM [住所マスタ] " _
& "WHERE [pref] ='" & Me.cboPref.Value & "' " _
& "GROUP BY [City] " _
& "ORDER BY MIN([ID]);"
With cboCity
.Value = ""
.RowSource = sql
.Requery
.SetFocus
.Dropdown
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Outlook(アウトルック) Outlookについて教えてください。 分類項目がついているメールに対して、 以下のような絞り込み( 2 2023/04/29 08:20
- その他(Microsoft Office) Outlookについて教えてください。 分類項目がついているメールに対して、 以下のような絞り込み( 1 2023/04/28 19:22
- ノートパソコン PCへのデータ保存について 5 2023/06/21 10:31
- 法学 全部取得条項付種類株式について 1 2022/12/20 21:45
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- 戸籍・住民票・身分証明書 父の墓の継承について 5 2022/10/25 17:32
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- ビジネスマナー・ビジネス文書 レターパックを返信する際の敬称について 2 2022/10/11 07:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
複数のレコードを1つのレコード...
-
Oracle 2つのDate型の値の差を...
-
空白をそのままインポートする...
-
セルの右クリックで出る項目を...
-
PC-98でHDDに複数OSを入れる...
-
Excelの表、重複データ2行を1...
-
Access テキスト型に対する指定...
-
Accessで数値型にNULLをInsert...
-
SUBSTRING 関数に渡した長さの...
-
APN設定について教えていただけ...
-
ORACLE SQL 文末 文字列 削除の...
-
Excelの上に並ぶABCD…
-
datファイルからaccessにインポ...
-
SQLでの項目名の日本語化
-
2行目を表示できますか?
-
指定した項目の列削除
-
表の名称について
-
ORACLEでLONG項目からCHAR項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
セルの右クリックで出る項目を...
-
アンドロイド おサイフケータイ...
-
BIOSでAHCIに設定したいが、項...
-
Excel 2019 のピボットテーブル...
-
エクセルグラフの凡例スペース
-
正しく入力されていない項目も...
-
SUBSTRING 関数に渡した長さの...
-
複数のレコードを1つのレコード...
-
access2000:フォームで入力し...
-
必須入力項目と入力必須項目
-
Accessで数値型にNULLをInsert...
-
パソコンで画像ファイルを手持...
-
Accessレポートで特定条件で改...
-
空白をそのままインポートする...
-
2行目を表示できますか?
-
ORACLEでLONG項目からCHAR項目...
-
VBAで複数の数式セルを最終行ま...
おすすめ情報