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