Skill Note

平凡なエンジニアがメモ代わりにプログラミング, インフラ, ネットワークを書き綴るブログ

[Oracle]VBAからSELECT文を実行しデータを取得する方法

      2020/06/02

VBAからOracleデータベースでSELECT文を実行してデータを取得するライブラリを作成しましたので記載します。

Oracle接続にはOracle Clientのインストールと参照設定が必要になりますので、過去の記事を参考に設定してください。

Oracle接続情報の設定

Oracleへの接続は、TNSサービス名で接続する場合とTNSサービス名を使用せず直接接続する場合の2パターン用意しています。

どちらかの接続方法を選択してヘッダ部に定義してある定数を変更します。

TNSサービス名を使用せず直接接続する場合は、本体部分のコードを以下のように変更します。

呼出元の設定

呼出元ではライブラリに渡す引数の設定を行います。

第1引数には、実行したいSELECT文を定義します。

第2引数には、SELECT文を実行して取得したデータを格納する配列を定義します。

配列の要素数はライブラリ内で再定義しますので、動的配列として宣言します。

取得データの取り出し

ライブラリの戻り値には、実行結果のステータスコードとして正常に終了した場合はTrue、異常終了した場合はFalseを設定しています。

取得データは引数として渡した配列に2次元配列として格納されています。

実行結果が正常終了の場合のみ、取得データを1要素ずつ取り出してシートに書き出しています。

OracleデータベースでSELECT文を実行するライブラリ

最後にライブラリのコードを記載します。

呼出元のサンプルコードを記載します。

Google AdSense PC

Google AdSense PC

Message

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

  関連記事

microsoft
[Windows]リモートデスクトップのシングルサインオン

ドメイン参加PCでシングルサインオンする Active Directoryのドメインに所属した場合、既定の設定のままでは、資格情報が使用できないため、 リモート …

microsoft
WEB会議・WEB面接を快適にするおすすめ機器の紹介

新型コロナウイルスの流行拡大に伴い、WEB会議・WEB面接を導入する企業が増えてきました。 この記事では、これからWEB会議・WEB面接を導入する予定の企業や実 …

microsoft
【パソコン不要】HDDのデータをSSDに丸ごとコピーして交換する方法

近頃はSSDの記憶容量の増加、価格の値下がりが続き、HDDとの容量・価格差も縮まり購入しやすい状況となっています。HDDからSSDに交換することで読込・書込速度 …

microsoft
Excel VBAでOracleのデータを参照するマスター検索機能を作成する

エクセルのVBAでOracleに保存されているマスタを検索する機能を作成する機会がありましたので、サンプルプログラムを記載します。 Oracleへの接続設定 V …

microsoft
[Windows]Windows 7 リモートデスクトップの有効化

Windows 7にリモートデスクトップ接続する 「コントロールパネル」ー「システムとセキュリティ」をクリック 「システム」をクリック   「リモート …

microsoft
[Windows]IISセッション管理(状態サーバ)

IISのセッションをアウトプロセスで管理する方法 IISのセッションはインプロセスが既定設定となっておりワーカープロセスが再起動されるたびにセッション情報が破棄 …

microsoft
[Windows]WSUSサーバの構築手順 3/6

Windows 2008 R2サーバにWSUSサーバを構築する IISのインストール [スタート]-[すべてのプログラム]-[管理ツール]-[サーバーマネージャ …

microsoft
[Windows]共有フォルダへのアクセスログを取得する方法

VVAULT AUDITを使用したログ管理 Windowsでは監査ポリシーを設定することにより共有フォルダやファイルへのアクセスログを記録し、インベントビューア …

microsoft
[Windows]WSUSサーバの構築手順 5/6

Windows 2008 R2サーバにWSUSサーバを構築する WSUS(Windows Server Update Service)の設定 [スタート]-[す …

アクセス(Access)を購入せずに無料のランタイムだけで使う方法

Accessは、マイクロソフトが提供しているリレーショナルデータベースソフトです。 データベースにデータを蓄積することで、条件に一致するデータを抽出することやデ …