*

Access VBA データベース作成7 リストボックスの値取得 検索フォームの作成3

公開日: : 最終更新日:2014/04/20 データベース作成

データベース作成7 検索フォームの作成3

実践データベース作成の第7回目は検索フォームの作成Part3です。
前回は検索結果をリストボックスに表示するプログラムを完成させました。
今回は検索結果のリストボックスをクリックし詳細データを各テキストボックスに表示させます。
・リストボックスに表示された社員データをクリック
・各テキストボックスに社員データの詳細を表示
上位のような流れになります。

では実際にVBAを組み込んでいきます。

スポンサーリンク

リストボックス(検索結果リスト)のクリック時イベント

リストボックスのイベントは「クリック時」になります。

sakusei20

sakusei21
リストボックスの「クリック時」では以下のプログラムを実行します。
1.リストボックスの値(社員コード)を検索条件としたSQLを実行
2.検索されたデータを各テキストボックスへ表示
実際のプログラムは以下のようになります。

プログラム例

Private Sub 検索結果リスト_Click()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim SQL As String

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

SQL = “SELECT ”
SQL = SQL & “T_社員マスタ2013.社員コード, ”
SQL = SQL & “T_社員マスタ2013.名前, ”
SQL = SQL & “T_社員マスタ2013.性別コード, ”
SQL = SQL & “T_性別マスタ.性別, ”
SQL = SQL & “T_社員マスタ2013.所属部署コード, ”
SQL = SQL & “T_所属部署マスタ.所属部署名, ”
SQL = SQL & “T_社員マスタ2013.入社年月日 ”
SQL = SQL & “FROM ”
SQL = SQL & “(T_社員マスタ2013 ”
SQL = SQL & “INNER JOIN T_性別マスタ ”
SQL = SQL & “ON T_社員マスタ2013.性別コード = T_性別マスタ.性別コード) ”
SQL = SQL & “INNER JOIN T_所属部署マスタ ”
SQL = SQL & “ON T_社員マスタ2013.所属部署コード = T_所属部署マスタ.所属部署コード ”
SQL = SQL & “WHERE ”
SQL = SQL & “(((T_社員マスタ2013.社員コード)='” & Me.検索結果リスト.Column(0) & “‘));”

RS.Open SQL, CN, adOpenStatic, adLockOptimistic

If RS.EOF = False Then

Me.詳細社員コード = RS!社員コード
Me.詳細名前 = RS!名前
Me.詳細性別 = RS!性別
Me.詳細所属部署 = RS!所属部署名
Me.詳細入社日 = RS!入社年月日

End If

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

プログラムの説明

SQL文のWHERE句

SQL文中の「WHERE」句がポイントになります。

SQL = SQL & “WHERE “
SQL = SQL & “(((T_社員マスタ2013.社員コード)='” & Me.検索結果リスト.Column(0) & “‘));”

【'” & Me.検索結果リスト.Column(0) & “‘】は「リストボックスの1番目の列のデータ」という意味です。2列目でしたら「検索結果リスト.Column(1)」になります。

検索結果を各テキストボックスへ表示

検索結果がゼロでなければテキストボックスへ表示します。

sakusei20
リストボックスをクリック後、各データがテキストボックスへ表示されれば成功です。

いかがでしょうか?
今回のポイントもSQLの書き方です。
・WHERE句内の条件式の書き方
・リストボックスの値を得るには「Column」を使用する

今回で検索フォーム作成は終了になります。
今のところ、クエリ・マクロをひとつも作らずにプログラミングだけで作成出来ていますね。
次回はデータ編集のフォーム作成になります。

You Tubeにて動画を公開しています。

スポンサーリンク

ad-pc

ad-pc

関連記事

sakusei24

Access VBA データベース作成9 データの更新 編集フォームの作成2

データベース作成9 編集フォームの作成2 実践データベース作成の第9回目は編集フォームの作成Par

記事を読む

sakusei02

Access VBA データベース作成1 ADO参照設定

データベース作成1 準備 データベース作成の実践編として数回に渡り、AccessVBAを使用したデ

記事を読む

sakusei12

Access VBA データベース作成3 新規レコード取得 登録フォームの作成1

データベース作成3 登録フォームの作成1 実践データベース作成の第3回目は登録フォームの作成を行い

記事を読む

sakusei17

Access VBA データベース作成5 コンボボックスの作成 検索フォームの作成1

データベース作成5 検索フォームの作成1 実践データベース作成の第5回目は検索フォームの作成Par

記事を読む

sakusei15

Access VBA データベース作成4 新規レコード追加 登録フォームの作成2

データベース作成4 登録フォームの作成2 実践データベース作成の第4回目は登録フォームの作成Par

記事を読む

sakusei18

Access VBA データベース作成6 SQLでLike演算子 検索フォームの作成2

データベース作成6 検索フォームの作成2 実践データベース作成の第6回目は検索フォームの作成Par

記事を読む

sakusei27

Access VBA データベース作成10 フォームを開く メインフォームの作成

データベース作成10 メインフォームの作成 実践データベース作成の第10回目はメインフォームの作成

記事を読む

sakusei22

Access VBA データベース作成8 コンボボックスの選択データを表示 編集フォームの作成1

データベース作成8 編集フォームの作成1 実践データベース作成の第8回目は編集フォームの作成Par

記事を読む

sakusei11

Access VBA データベース作成2 テーブルの作成

データベース作成2 テーブルの作成 実践データベース作成の第2回目はテーブルの作成を行います。

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職01
初心者がAccess VBAの仕事に就く為には

初心者がAccess VBAを使った仕事に就く 私はSEやITエンジ

sound01
Access VBA 音を鳴らす PlaySound

音を鳴らす PlaySound Access上で効果音を鳴らすプログ

pass01
Access VBA フォームをパスワードで制限

フォームをパスワードで制限 Accessで作成したデータベース使用時

prg01
Access VBA 処理の進行状況を表示するプログレスバー(ProgressBar)

処理の進行状況を表示するプログレスバー Accessで処理に時間のか

excel03
Access VBA AccessのデータをExcel(エクセル)へ変換

AccessのデータをExcel(エクセル)へ変換 Accessで使

→もっと見る

PAGE TOP ↑