リスト3 oo4oの場合のデータベースへの接続
Private Sub CommandButton1_Click()
On Error GoTo Err_Han
If OraDB Is Nothing Then
Call Conn
End If
If OraDB.ConnectionOK = False Then
Call Conn
End If
' データ取得メイン処理を呼び出す
getProductInfo
Exit Sub
Err_Han:
' エラー処理
MsgBox (Err.Description)
End Sub
Private OraSess As OraSession
Private OraDB As OraDatabase
' データベース接続処理
Private Sub Conn()
Set OraSess = CreateObject("OracleInProcServer.XOraSession")
Set OraDB = OraSess.OpenDatabase("orcl", "scott" & "/" & "tiger", 0&)
End Sub
'データ取得メイン処理
Private Sub getProductInfo()
' 変数定義
Dim oraDS As OraDynaset ' レコードセット(商品情報)
' データ取得処理
Set oraDS = selectProducts()
' データが取得されなかったら何もしない
If oraDS Is Nothing Then
Exit Sub
End If
' 商品情報データをシートに格納する
Call setDataView(oraDS, theSheet.Cells(4, 2))
' レコードセットクローズ
oraDS.Close
End Sub
'データ取得処理
Private Function selectProducts() As OraDynaset
Dim strSql As String
Dim strSql As String
strSql = " select ""商品ID"",""商品名"",""分類名"", " & _
" ""内容量"",""内容量単位"",""原材料""," & _
" ""保存方法"",""賞味期限"",""価格"" " & _
" from ""商品情報"",""商品分類"" " & _
" where ""商品情報"".""分類ID"" = ""商品分類"".""分類ID""
Set selectProducts = OraDB.CreateDynaset(strSql, 0&)
End Function