リスト1 ADO+ODBCの場合のデータベースへの接続
Private Sub CommandButton1_Click()
On Error GoTo Err_Han
If oraconn.State = 0 Then
Call Conn
End If
' データ取得メイン処理を呼び出す
getProductInfo
Exit Sub
Err_Han:
' エラー処理
MsgBox (Err.Description)
End Sub
'データベース接続処理
Private oraconn As New ADODB.Connection
Private Sub Conn()
ConnectionString = "DSN=orcl;UID=scott;PWD=tiger"
oraconn.ConnectionString = ConnectionString
oraconn.Open
End Sub
'データ取得メイン処理
Private Sub getProductInfo()
' 変数定義
Dim rs As ADODB.Recordset ' レコードセット(商品情報)
' データ取得処理
Set rs = selectProducts
' データが取得されなかったら何もしない
If rs Is Nothing Then
Exit Sub
End If
' 商品情報データをシートに格納
Call setDataView(rs, theSheet.Cells(4, 2))
' レコードセットクローズ
rs.Close
End Sub
'データ取得処理
Private Function selectProducts() As ADODB.Recordset
Dim strSql As String
Dim strSql As String
strSql = " select ""商品ID"",""商品名"",""分類名"", " & _
" ""内容量"",""内容量単位"",""原材料""," & _
" ""保存方法"",""賞味期限"",""価格"" " & _
" from ""商品情報"",""商品分類"" " & _
" where ""商品情報"".""分類ID"" = ""商品分類"".""分類ID""
Set selectProducts = oraconn.Execute(strSql)
End Function