List 6-179 DataObj.BillコンポーネントのGetRecordメソッド
  1: Public Sub GetRecord(ByVal BillID As Long, _
                          ByRef CustomerID As Variant, ByRef STARTDATE As Variant, _
                          ByRef ENDDATE As Variant, ByRef SUBTOTAL As Variant, _
                          ByRef TAX As Variant, ByRef TOTAL As Variant, _
                          ByRef SENDBILLFLAG As Variant, _
                          ByRef PAIDFLAG As Variant, ByRef SUBMITUSER As Variant, _
                          ByRef SUBMITDATE As Variant, ByRef MEMO As Variant, _
                          ByRef MADEUSER As Variant, ByRef MADEDATE As Variant, _
                          ByRef LASTUSER As Variant, ByRef LASTDATE As Variant)
  2:     ' 請求書情報テーブル内の指定された請求書番号の請求書情報を返す
  3:     ' 【引数】
  4:     '   BillID = 情報を読み出したい請求書の請求書番号
  5:     '   CUSTOMERID = 請求書の取引先となっている顧客番号が格納される
  6:     '   STARTDATE = 請求書の期間の開始日が格納される
  7:     '   ENDDATE = 請求書の期間の終了日が格納される
  8:     '   SUBTOAL = 請求書の小計(税抜き額)が格納される
  9:     '   TAX = 請求書の消費税額が格納される
 10:     '   TOTAL = 請求書の合計(税込み額)が格納される
 11:     '   SENDBILLFLAG = 請求書が送付ずみであればTrue,そうでなければFalseが
 12:     '                  格納される
 13:     '   PAIDFLAG = 請求書が入金ずみであればTrue,そうでなければFalseが
 14:     '              格納される
 15:     '   SUBMITUSER = 入金を確認したユーザーのアカウント名が格納される
 16:     '                未入金であればNull
 17:     '   SUBMITDATE = 請求書の入金を確認した日時が格納される
 18:     '                未入金であればNull
 19:     '   MADEUSER = 請求書を作成したユーザー名が格納される
 20:     '   MADEDATE = 請求書が作成された日時が格納される
 21:     '   LASTUSER = 請求書の最終更新ユーザー名が格納される
 22:     '   LASTDATE = 請求書の最終更新日時が格納される
 23:     ' 【戻り値】
 24:     '   なし
 25:     Dim objContext As ObjectContext
 26:     Dim objRec As ADODB.Recordset
 27:     
 28:     ' オブジェクトコンテキストの取得
 29:     Set objContext = GetObjectContext()
 30:     
 31:     ' エラーハンドラの設定
 32:     On Error GoTo ErrHandle
 33:     
 34:     ' 指定された請求書番号の請求書情報を取得
 35:     Set objRec = CreateObject("ADODB.Recordset")
 36:     objRec.Open "SELECT * FROM 請求書情報 WHERE ID=" & BillID, _
                      g_DBConnection, adOpenForwardOnly, adLockReadOnly, adCmdText
 37:     
 38:     If objRec.EOF Then
 39:         Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
                       "指定された請求書番号を持つ請求書が見つかりません"
 40:     End If
 41:     
 42:     ' 取得したデータを戻り値に設定
 43:     CustomerID = objRec.Fields("CUSTOMERID").Value
 44:     STARTDATE = objRec.Fields("STARTDATE").Value
 45:     ENDDATE = objRec.Fields("ENDDATE").Value
 46:     SUBTOTAL = objRec.Fields("SUBTOTAL").Value
 47:     TAX = objRec.Fields("TAX").Value
 48:     TOTAL = objRec.Fields("TOTAL").Value
 49:     SENDBILLFLAG = objRec.Fields("SENDBILLFLAG").Value
 50:     PAIDFLAG = objRec.Fields("PAIDFLAG").Value
 51:     SUBMITUSER = objRec.Fields("SUBMITUSER").Value
 52:     SUBMITDATE = objRec.Fields("SUBMITDATE").Value
 53:     MEMO = objRec.Fields("MEMO").Value
 54:     MADEUSER = objRec.Fields("MADEUSER").Value
 55:     MADEDATE = objRec.Fields("MADEDATE").Value
 56:     LASTUSER = objRec.Fields("LASTUSER").Value
 57:     LASTDATE = objRec.Fields("LASTDATE").Value
 58:     
 59:     ' データベースとの接続を閉じてレコードセットを解放
 60:     objRec.Close
 61:     Set objRec = Nothing
 62:     
 63:     ' トランザクションのコミット
 64:     objContext.SetComplete
 65:     
 66:     ' オブジェクトコンテキストの解放
 67:     Set objContext = Nothing
 68:     
 69:     Exit Sub
 70:     
 71: ErrHandle:
 72:     ' エラーハンドラ
 73:     objContext.SetAbort
 74:     
 75:     Set objContext = Nothing
 76:     Set objRec = Nothing
 77:     
 78:     ' エラーの再発行
 79:     Err.Raise Err.Number, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 80: End Sub