List 6-169 DataObj.CustomerコンポーネントのGetCustomersByBillDayメソッド
  1: Public Function GetCustomersByBillDay(ByVal billday As Long) _
                                           As ADODB.Recordset
  2:     ' 登録されている顧客のうち締め日がbilldayであるものを
  3:     ' ADODB.Recordsetオブジェクトとして返す
  4:     ' 【引数】
  5:     '   billday = 締め日
  6:     ' 【戻り値】
  7:     '   指定された締め日に設定された顧客を含むADODB.Recordsetオブジェクト
  8:     '   戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたRecordset
  9:     Dim objContext As ObjectContext
 10:     Dim objRec As ADODB.Recordset
 11:     
 12:     ' オブジェクトコンテキストの取得
 13:     Set objContext = GetObjectContext()
 14:     
 15:     ' エラーハンドラの設定
 16:     On Error GoTo ErrHandle
 17:     
 18:     ' データベースと接続し,SELECT文を発行
 19:     Set objRec = CreateObject("ADODB.Recordset")
 20:     ' カーソルロケーションをクライアントカーソルに設定
 21:     objRec.CursorLocation = adUseClient
 22:     
 23:     ' SELECT文の実行
 24:     objRec.Open "SELECT ID, NAME, YOMIGANA, ZIP, " & _
                     " ADDRESS, TELEPHONE, FAX, BILLDAY, MEMO, " & _
                     " MADEUSER, MADEDATE, LASTUSER, LASTDATE, DELETEDFLAG" & _
                     " FROM 顧客情報" & _
                     " WHERE BILLDAY=" & billday & _
                     " AND DELETEDFLAG=0", _
                     g_DBConnection, adOpenStatic, adLockReadOnly, adCmdText
 25:     
 26:     ' データベースコネクションの遮断
 27:     Set objRec.ActiveConnection = Nothing
 28:     
 29:     ' 取得したレコードセットを戻り値とする
 30:     Set GetCustomersByBillDay = objRec
 31:     Set objRec = Nothing
 32:     
 33:     ' トランザクションのコミット
 34:     objContext.SetComplete
 35:     
 36:     ' オブジェクトコンテキストの解放
 37:     objContext.SetComplete
 38:     
 39:     ' オブジェクトコンテキストの解放
 40:     Set objContext = Nothing
 41:     
 42:     Exit Function
 43:     
 44: ErrHandle:
 45:     ' エラーハンドラ
 46:     objContext.SetAbort
 47:     Set objContext = Nothing
 48:     Set objRec = Nothing
 49:     
 50:     ' エラーの再発行
 51:     Err.Raise Err.Number, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 52: End Function