ExcelVBA

Excel VBAで複数テーブルのデータを繰り返し取得するプログラムを作成してみた(完成イメージ編)

前回は、Excel VBAでOracleに接続し、指定したSELECT文のデータを取得するプログラムを作成してみたが、今回はそのプログラムを修正し、複数のテーブルデータを繰り返し取得できるようにしてみた。

なお、今回のサンプルプログラムと実行結果は長くなるため、完成したサンプルプログラムの画面イメージのみここで記載し、ソースコードの内容は次回の記事で掲載する。

前提条件

下記記事のサンプルプログラムの作成が完了していること。

Excel VBAでOracle接続するプログラムを作成してみた今回は、Excel VBAでOracleに接続し、指定したSELECT文のデータを取得するプログラムを作成してみたので、そのサンプルプロ...

サンプルプログラムの実行結果

今回作成したサンプルプログラムの実行結果は、以下の通り。

1) サンプルプログラム「DbDump.xlsm」のレイアウトは以下の通り。
サンプルプログラムの実行結果_1

2) 以下のように、user_dataテーブルに入っている状態のデータが取得できることが確認できる。
サンプルプログラムの実行結果_2_1

サンプルプログラムの実行結果_2_2 サンプルプログラムの実行結果_2_3

3) 以下のように、user_dataテーブルにデータを追加した後で「取得」ボタンを押下すると、先ほど取得したデータの後に、取得したデータが追加されることが確認できる。
サンプルプログラムの実行結果_3_1

サンプルプログラムの実行結果_3_2 サンプルプログラムの実行結果_3_3

4) 以下のように、user_dataテーブルのデータを更新した後で「取得」ボタンを押下すると、更新後のデータが追加されることが確認できる。
サンプルプログラムの実行結果_4_1

サンプルプログラムの実行結果_4_2 サンプルプログラムの実行結果_4_3

5) 以下のように、user_dataテーブルのデータ取得条件を追加すると、指定した条件に従ったデータが取得できることが確認できる。また、他のテーブルも取得対象に追加すると、そのテーブル名のシートにデータが取得されることが確認できる。
サンプルプログラムの実行結果_5_1

サンプルプログラムの実行結果_5_2 サンプルプログラムの実行結果_5_3 サンプルプログラムの実行結果_5_4



また、エラーチェックについての実行例は、以下の通り。

6) 以下のように、SQLエラーが発生する条件でデータ取得を行うと、エラーメッセージとシート削除確認メッセージが表示されることが確認できる。
サンプルプログラムの実行結果_6_1

サンプルプログラムの実行結果_6_2 サンプルプログラムの実行結果_6_3

7) 以下のように、テーブル名が未入力の状態だと、「テーブル名が全て未入力です」というエラーメッセージが表示される。
サンプルプログラムの実行結果_7_1

サンプルプログラムの実行結果_7_2

8) 以下のように、テーブル名が重複していると、「テーブル名XXXが重複しています」というエラーメッセージが表示される。
サンプルプログラムの実行結果_8_1

サンプルプログラムの実行結果_8_2