![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になっております
既存のデータベースからaccessを使って検索を行っている者です
表示させるテーブルの中でひとつだけ
5パターンの文字列が入力されているフィールドがあります
それをフォームで表示する際にコンボボックスで表示させたいのですが
どのようにすればよいのでしょうか?
コンボボックスを作るときフィールドを割り当てると
同じ入力内容も全て表示されてしまってものすごい量になってしまいます
これを5種類のいずれかを選択させる形で表示させたいです
あと、入力されている内容とは別のものを表示したいのです
たとえば
フィールドの内容は
G1,G2,G3,G4,G5
だとして
G1だったら「印刷」
G2だったら「表示」
というような表示をさせたいと思っています
ご存知の方よろしくお願いいたします
No.4
- 回答日時:
> 同じ入力内容も全て表示されてしまってものすごい量になってしまいます
これは、コンボボックスのソースにデータの入ったテーブルそのものを使っているからです。
コンボボックスのコントロール・ソースにG1からG5を指定するか、
別にG1からG5のレコードが入ったテーブルを作成し、これをソースとすれば良いです。
No.2
- 回答日時:
読みにくいので・・・。
Public Function DBSelect(ByVal strQuerySQL As String) As String
On Error GoTo Err_DBSelect
Dim I As Integer
Dim J As Integer
Dim N As Integer
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim strList As String
Set rst = New ADODB.Recordset
' =================
' Begin With: rst
' -----------------
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
N = .RecordCount - 1
.MoveFirst
For I = 0 To N
For Each fld In .Fields
strList = strList & Nz(fld.Value, "") & ";"
Next fld
.MoveNext
Next I
Else
strList = ""
End If
End With
' ---------------
' End With: rst
' ===============
Exit_DBSelect:
On Error Resume Next
rst.Close
Set rst = Nothing
DBSelect = strList
Exit Function
Err_DBSelect:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSelect)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBSelect
End Function
No.1
- 回答日時:
質問内容自体は、明瞭であって問題はないと思います。
が、解決の方向性の選択に悩みます。
そこで、2つの方向性を示します。
1、フォームのロード時にコンボボックスの値をセットする。
G1;印刷;G2;表示;G3;XXX
という具合です。
2、フィールドの翻訳テーブルを用意して一気にコンボボックスの値をセットする。
G1;印刷;
G2;表示
・・・
G5;XXXX
という翻訳テーブルを持つということです。
<DBSelect関数 の案内>
さて、急遽、DBSelect関数を作ってみました。
コード自体は、読めば判る簡単なものです。
次のように、セミコロン(;)で区切ってSQL分の実行結果を戻すのでコンボボックスの値設定に利用できます。
[イミディエイト]
? DBSelect("SELECT DISTINCT FIELD_1 FROM TEST")
G1;G2;G3;G4;G5;
Public Function DBSelect(ByVal strQuerySQL As String) As String
On Error GoTo Err_DBSelect
Dim I As Integer
Dim J As Integer
Dim N As Integer
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim strList As String
Set rst = New ADODB.Recordset
' =================
' Begin With: rst
' -----------------
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
N = .RecordCount - 1
.MoveFirst
For I = 0 To N
For Each fld In .Fields
strList = strList & Nz(fld.Value, "") & ";"
Next fld
.MoveNext
Next I
Else
strList = ""
End If
End With
' ---------------
' End With: rst
' ===============
Exit_DBSelect:
On Error Resume Next
rst.Close
Set rst = Nothing
DBSelect = strList
Exit Function
Err_DBSelect:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSelect)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBSelect
End Function
さて、ここまでくれば、DBSelect関数のSQL文さえ書ければ1、2の方法いずれも半ば成功したようなものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) EXCEL VBA データベースの内容をユーザーフォームに表示したい。 5 2023/02/14 11:40
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
帳票フォームでのあるコンボボ...
-
Accessのコンボボックスの”すべ...
-
Accessのコンボボックスでリス...
-
ACCESS リストボックスの字の色...
-
Access2003 孫フォームのRequer...
-
(ACCESS)フォームデータシート...
-
Accessのコンボボックスの値が...
-
Accessのフォーム(コンボボッ...
-
ACCESSでコンボボックスにSQLで...
-
パススルークエリのデータ件数...
-
Accessのコンボボックスのデフ...
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
Accessフォームが入力できません。
-
AccessでIDを入力したら他の項...
-
ACCESSでVBAから選択クエリの抽...
-
前のレコードの値を自動で入れたい
-
スクロールバーをVBAで操作したい
-
accessでオートナンバーを使わ...
-
ExcelのComboboxでマウスのスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
Accessのコンボボックスの値が...
-
ACCESSでコンボボックスにSQLで...
-
ACCESS リストボックスの字の色...
-
帳票フォームでのあるコンボボ...
-
ACCESSクエリ抽出条件について
-
accessでのリストボックス選択...
-
コンボボックスのリスト外入力...
-
accessでオートコンプリート機...
-
Accessのコンボボックスのデフ...
-
Accessのコンボボックスの”すべ...
-
リストボックスの時はリンク先...
-
更新クエリで変数は使えない?
-
(ACCESS)フォームデータシート...
-
Accessのフォーム(コンボボッ...
-
ACCESS コンボボックスについて
-
SQLサーバーからひっぱるACCESS...
-
Accessフォーム 大分類→小分類...
-
Accessでの絞込み選択
-
Access 帳票フォームのコンボボ...
おすすめ情報