Skill Note

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

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

      2020/01/29

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]「このリモートコンピューターのIDを識別できません。接続しますか?」の対応方法

警告の原因と対応方法 リモートデスクトップ接続をしたときに表示されるこのメッセージ 「このリモートコンピューターのIDを識別できません。接続しますか?」 「はい …

microsoft
[Windows]VBAからOracleに接続する方法

ADO(ActiveX Data Objects)を使用することで、エクセルなどのOfficeソフトからOracleに接続することができます。 この記事ではEx …

microsoft
[Windows]ネットワーク一覧にコンピュータ名を表示させない方法

Windowsのエクスプローラでネットワーク上に存在するコンピュータの一覧を表示することができます。 一覧の中には開発機やユーザに公開したくないサーバなども表示 …

[Windows]エクセルファイルを無料のMicrosoft純正ビューアで開く

Microsoft Officeがインストールされていないパソコンでエクセルを開くために、マイクロソフトが提供していたMicrosoft Excel Viewe …

microsoft
VBAで形式を指定して日付を取得する

VBAで西暦や和暦の日付形式に変換するには「FORMAT」関数に引数を指定することで意図した日付形式に変換することができます。 日付を表示 Date関数で今日の …

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

Windows 2008 R2サーバにWSUSサーバを構築する クライアントPCがWSUSサーバから更新プログラムをダウンロードするにはグループポリシーを設定す …

microsoft
エクセルで円と銭の通貨単位を表示する

Excelで入力した数値に円と銭の単位を表示する方法を記載します。 2種類の表示方法がありますので、用途に応じて使い分けてください。 セルの書式設定で表示 セル …

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

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

microsoft
[Windows]指定サイズのファイルを作成する

ネットワークの通信速度などを調査する場合にサイズの大きなファイルを作成する必要があります。 この記事では「fsutil」コマンドを使用したダミーファイルの作成方 …

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

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