はじめに
ExcelからOracle 11gのデータベースに接続して、データをセルに書き出すサンプルプログラムを作ってみました。
新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)
posted with amazlet at 14.09.13
小田 圭二 大塚 信男 五十嵐 建平 谷 敦雄 宮崎 博之 神田 達成 村方 仁
翔泳社
売り上げランキング: 216,008
翔泳社
売り上げランキング: 216,008
使用したソフト
- Excel 2013
- Oracle 11g
テーブルレイアウト
以下のようなテーブルを用意します。
サンプルコード
Sub Macro1() Dim OraSess As Object Dim OraDB As Object Dim objRS As Object Set OraSess = CreateObject("OracleInProcServer.XOraSession") ' データベース名、ユーザID、パスワード Set OraDB = OraSess.OpenDatabase("orcl", "user" & "/" & "password", 0&) Dim strSql As String strSql = "SELECT * FROM table01 ORDER BY ID ASC" Set objRS = OraDB.CreateDynaset(strSql, 0&) ' レコードが0件でないかチェック If objRS.EOF = False Then Dim i As Integer i = 1 'レコードの終わりまで繰り返し Cells.Clear Do While objRS.EOF = False If Not IsNull(objRS.Fields("ID").Value) Then ' セルにコピー Range("A" & i).Value = CStr(objRS.Fields("ID").Value) Range("B" & i).Value = CStr(objRS.Fields("NAME").Value) Range("C" & i).Value = CStr(objRS.Fields("FURIGANA").Value) End If i = i + 1 ' カーソルを次のレコードに移動する objRS.MoveNext Loop End If ' オブジェクトの解放 objRS.Close Set objRS = Nothing OraDB.Close Set OraDB = Nothing Set OraSess = Nothing End Sub
実行結果
関連記事