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