List 6-130 DataObj.SlipDetailコンポーネントのGetRecordsメソッド
  1: Public Function GetRecords(ByVal SlipID As Long) As ADODB.Recordset
  2:     ' 指定された伝票に付随する明細すべてをADODB.Recordsetオブジェクトとして返す
  3:     ' 【引数】
  4:     '   SlipID = 伝票を特定する伝票番号
  5:     ' 【戻り値】
  6:     '   その伝票に結び付けられている明細すべてを含むADODB.Recordsetオブジェクト
  7:     '   戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたレコードセット
  8:     Dim objContext As ObjectContext
  9:     Dim objRec As ADODB.Recordset
 10:     Dim strQuery As String
 11:     
 12:     ' オブジェクトコンテキストの取得
 13:     Set objContext = GetObjectContext()
 14:     
 15:     ' エラーハンドラの設定
 16:     On Error GoTo ErrHandle
 17:     
 18:     ' 発行するSELECT文
 19:     strQuery = "SELECT 明細情報.ID As ID, 明細情報.PRODUCTID As PRODUCTID," & _
                           "製品情報.PRODUCTNAME As PRODUCTNAME, 明細情報.NUMBER As NUMBER," & _
                           "明細情報.UNITPRICE As UNITPRICE, 明細情報.PRICE As PRICE," & _
                           "明細情報.MEMO As MEMO, 明細情報.SLIPID As SLIPID," & _
                           "明細情報.MADEUSER As MADEUSER, 明細情報.MADEDATE As MADEDATE," & _
                           "明細情報.LASTUSER As LASTUSER, 明細情報.LASTDATE As LASTDATE," & _
                           "明細情報.DELETEDFLAG As DELETEDFLAG" & _
                    "  From 明細情報, 製品情報" & _
                    "  Where 明細情報.PRODUCTID = 製品情報.ID" & _
                    "        AND 明細情報.SLIPID =" & SlipID
 20: 
 21:     ' データベースと接続し,SELECT文を発行
 22:     Set objRec = CreateObject("ADODB.Recordset")
 23:     ' カーソルロケーションをクライアントカーソルに設定
 24:     objRec.CursorLocation = adUseClient
 25:     
 26:     ' SELECT文の実行
 27:     objRec.Open strQuery, g_DBConnection, adOpenStatic, adLockReadOnly, adCmdText
 28:     
 29:     ' データベースコネクションを切除
 30:     Set objRec.ActiveConnection = Nothing
 31:     
 32:     ' 取得したレコードセットを戻り値とする
 33:     Set GetRecords = objRec
 34:     Set objRec = Nothing
 35:     
 36:     ' トランザクションをコミット
 37:     objContext.SetComplete
 38:     
 39:     ' オブジェクトコンテキストの解放
 40:     Set objContext = Nothing
 41:     
 42:     Exit Function
 43: ErrHandle:
 44:     ' エラーハンドラ
 45:     objContext.SetAbort
 46:     Set objContext = Nothing
 47:     Set objRec = Nothing
 48:     
 49:     ' エラーの再発行
 50:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 51: End Function