*

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

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

データベース作成5 検索フォームの作成1

実践データベース作成の第5回目は検索フォームの作成Part1です。
「T_社員マスタ2013」に登録されたデータからテキストボックスやコンボボックスに入力されたデータを基に検索します。
・テキストボックスやコンボボックスを設置し検索条件を入力出来るようにする。
・検索コマンドボタンを押すと検索結果がリストボックスに表示される。
・更にリストボックス内の検索されたデータをクリックすると詳細データが表示される。
上記のような検索フォームを作成します。

スポンサーリンク

フォームの作成

sakusei17
フォームの構成は・・・
・検索条件
名前・・・テキストボックス
性別・・・コンボボックス
所属部署・・・コンボボックス
・検索結果
検索結果・・・リストボックス
・詳細
社員コード・・・テキストボックス
名前・・・テキストボックス
性別・・・テキストボックス
所属部署・・・テキストボックス
入社日・・・テキストボックス
以上になります。
また、各コントロールボックスは「非連結」で作成します。

では、実際にVBAを組み込んでいきましょう。

フォームイベント

フォームのイベントは読み込み時になります。
登録フォームの作成と同様に「読み込み時」にはコンボボックスの作成を行います。
1.性別マスタを使用して「性別コンボボックス」の作成
2.所属部署マスタを使用して「所属部署コンボボックス」の作成
実際のプログラムは以下のようになります。

プログラムの例

Private Sub Form_Load()
Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim RS1 As ADODB.Recordset

Set CN = CurrentProject.Connection

‘性別コンボボックスの作成
Set RS = New ADODB.Recordset

Me.性別コード.ColumnCount = 2
Me.性別コード.ColumnWidths = “2.0cm;1.0cm”
Me.性別コード.RowSource = “コード;性別”
Me.性別コード.RowSourceType = “値リスト”

RS.Open “T_性別マスタ”, CN, adOpenStatic, adLockOptimistic

Do Until RS.EOF

Me.性別コード.RowSource = Me.性別コード.RowSource & “;” & RS!性別コード & “;” & RS!性別

RS.MoveNext
Loop

RS.Close: Set RS = Nothing

‘所属部署コンボボックスの作成
Set RS1 = New ADODB.Recordset

Me.所属部署コード.ColumnCount = 2
Me.所属部署コード.ColumnWidths = “2.0cm;1.0cm”
Me.所属部署コード.RowSource = “コード;部署”
Me.所属部署コード.RowSourceType = “値リスト”

RS1.Open “T_所属部署マスタ”, CN, adOpenStatic, adLockOptimistic

Do Until RS1.EOF

Me.所属部署コード.RowSource = Me.所属部署コード.RowSource & “;” & RS1!所属部署コード & “;” & RS1!所属部署名

RS1.MoveNext
Loop

RS1.Close: Set RS1 = Nothing
CN.Close: Set CN = Nothing

End Sub

プログラムの説明

性別コンボボックス及び所属部署コンボボックスの作成

(1)「Me.性別コード」を設定。
(2)ADOを使用して「T_性別マスタ」を開く。
(3)Do Loop処理を使用して「Me.性別コード」にデータを追加
(4)「Me.所属部署コード」も同様に作成します。
ADOの使用方法はこちらを参照して下さい。
コンボボックスの詳しい作成方法はこちらを参照して下さい。

いかがでしょうか?
これでフォームの「読み込み時イベント」は完了です。
登録フォームの作成とほぼ同様なので問題は無いと思います。
次回は検索プログラムを説明していきます。

スポンサーリンク

ad-pc

ad-pc

関連記事

sakusei02

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

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

記事を読む

sakusei15

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

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

記事を読む

sakusei11

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

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

記事を読む

sakusei22

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

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

記事を読む

sakusei20

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

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

記事を読む

sakusei18

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

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

記事を読む

sakusei27

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

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

記事を読む

sakusei24

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

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

記事を読む

sakusei12

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

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

記事を読む

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 ↑