Accessをデータベースにして練習中です。
テーブルが複数あり、デザイナで基本フォームを作ってあります。
参考書にルックアップフィールドの作成の仕方が載っていたのですが
わからなくなってしまったのでどなたか教えてください。
下のコードを実行すると、ルックアップフィールドが空白になってしまいます。
データセット名:業務DataSet
登録社員テーブル:社員ID、氏名、住所、電話の4列
成績テーブル:社員ID、成果、残業時間の3列
成績テーブルに対応したフォームをデザイナで作成。
社員IDは「社員IDComboBox」、ルックアップフィールドはツールボックスから作り、「氏名TextBox」にしました。
ルックアップフィールドのTextBoxに社員IDに対応した氏名を表示したいと思っています。
Private Sub 社員IDComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 社員IDComboBox.SelectedIndexChanged
If 社員IDComboBox.Text = "" Then
Exit Sub
End If
Dim dr As 業務DataSet._登録社員Row
dr = 業務DataSet._登録社員.FindBy社員ID(CType(社員IDComboBox.SelectedText, Integer))
If dr Is Nothing Then
氏名TextBox.Text = ""
Else
氏名TextBox.Text = dr.氏名
End If
End Sub
色々やっていたら何がおかしいのかわからなくなってしまいました。
すみませんが教えてください。
それと、ComboBoxに登録社員テーブルの社員IDの一覧を表示しようと思ったらどのようにすればよいのですか?
No.1ベストアンサー
- 回答日時:
私がこのようなことをする際はコンボボックスのプロパティで
列数 = 2
列幅 = 2cm;5cm
リスト幅 = 7cm
値集合タイプ = テーブル/クエリ
値集合ソース = SELECT [登録社員テーブル].[氏名],[登録社員テーブル].[社員ID] FROM 登録社員テーブル
列連結 = 2
のように設定します。
コンボボックスを使用する際は氏名及びIDを見ることができます。
選択後は氏名だけが表示されます。
コンボボックスの値(.VALUE)には社員IDが格納されます。
検索を行いたい際は値集合ソースのSQLにWHERE句を付け足します。
列幅などは好きなように設定できます。
お礼が遅くなり、すみませんでした。
教えていただいたクエリを実行しました。
コードで書くよりスマートで楽な方法だったのでとても助かりました。
SQLの書き方をもっと勉強したいと思います。
回答ありがとうございました。
お礼が遅くなり、本当にすみませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
データがあれば○○なければのSQL
-
別のaccessファイルからデータ...
-
抽出条件でデータ型が一致しま...
-
アクセスで連続データをテーブ...
-
Accessリンクするテーブルが見...
-
sql文で削除クエリを書く
-
ACCESSで購入回数を表示する方...
-
Accessのテーブルの値を更新したい
-
ACCESS DCOUNTの抽出条件について
-
社員名簿から検索する関数
-
SQLServer→Access インポート
-
【access】複数のフィールドの...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
switch の範囲指定
-
CloseとDisposeの違い
-
Excelシート上のマクロを登録し...
-
VBの質問#if 0 then ってどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
【access】複数のフィールドの...
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
Accessで縦と横を入れ替えたい
-
VBAでテーブル名とカラム名を動...
-
DataGridViewで複数条件の抽出...
-
Access から Excelのシートをイ...
-
重複した複数のレコードを1レ...
-
DAOでSQLServerに接続し、LeftJ...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
sql文で削除クエリを書く
-
別のaccessファイルからデータ...
-
access追加クエリーでform入力...
-
抽出条件でデータ型が一致しま...
-
Accessリンクするテーブルが見...
-
【PHP/MySQL】コード上で生成...
-
社員名簿から検索する関数
おすすめ情報