List 6-103 DataObj.SlipコンポーネントのGetRecord_Accountingメソッド
  1: Public Sub GetRecord_Accounting(ByVal SlipID As Long, _
                                     ByRef ACCOUNTINGUSER As Variant, _
                                     ByRef ACCOUNTINGDATE As Variant, _
                                     ByRef ACCOUNTINGCOMMENT As Variant)
  2:     ' 伝票情報テーブル内の指定された伝票番号の伝票のうち
  3:     ' 経理処理にかかわる情報を返す
  4:     ' 【引数】
  5:     '   SlipID = 情報を読み出したい伝票を特定する伝票番号を指定する
  6:     '   ACCOUNTINGUSER = 経理処理をしたユーザーのアカウント名が格納される
  7:     '   ACCOUNTINGDATE = 経理処理された日時が格納される
  8:     '   ACCOUNTINGCOMMENT = 経理処理されたときのコメントが格納される
  9:     ' 【戻り値】
 10:     '   なし
 11:     Dim objContext As ObjectContext
 12:     Dim objRec As ADODB.Recordset
 13:     
 14:     ' オブジェクトコンテキストの取得
 15:     Set objContext = GetObjectContext()
 16:     
 17:     ' エラーハンドラの設定
 18:     On Error GoTo ErrHandle
 19:     
 20:     ' 指定された伝票番号の伝票情報を取得
 21:     Set objRec = CreateObject("ADODB.Recordset")
 22:     objRec.Open "SELECT * FROM 伝票情報 WHERE ID=" & SlipID, _
                      g_DBConnection, adOpenForwardOnly, adLockReadOnly, adCmdText
 23:     
 24:     If objRec.EOF Then
 25:         Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
                      "指定された伝票番号を持つ伝票が見つかりません"
 26:     End If
 27:     
 28:     ' 取得したデータを渡された引数に設定
 29:     ACCOUNTINGUSER = objRec.Fields("ACCOUNTINGUSER").Value
 30:     ACCOUNTINGDATE = objRec.Fields("ACCOUNTINGDATE").Value
 31:     ACCOUNTINGCOMMENT = objRec.Fields("ACCOUNTINGCOMMENT").Value
 32:     
 33:     ' データベースとの接続を閉じてレコードセットを解放
 34:     objRec.Close
 35:     Set objRec = Nothing
 36:     
 37:     ' トランザクションをコミット
 38:     objContext.SetComplete
 39:     
 40:     ' オブジェクトコンテキストの解放
 41:     Set objContext = Nothing
 42:     
 43:     Exit Sub
 44:     
 45: ErrHandle:
 46:     ' エラーハンドラ
 47:     objContext.SetAbort
 48:     
 49:     Set objContext = Nothing
 50:     Set objRec = Nothing
 51:     
 52:     ' エラーの再発行
 53:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 54: End Sub