List 6-193 DataObj.SlipコンポーネントのGetRecordsByBillIDメソッド
1: Public Function GetRecordsByBillID(ByVal BillID As Long) _
As ADODB.Recordset
2: ' 指定された請求書に結び付けられている伝票の一覧を返す
3: ' 【引数】
4: ' BillID = 請求書を特定する請求書番号
5: ' 【戻り値】
6: ' 指定された請求書に結び付けられている伝票の一覧を含む
7: ' ADODB.Recordsetオブジェクト
8: ' 戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたRecordset
9: Dim objContext As ObjectContext
10: Dim objRec As ADODB.Recordset
11: Dim strQuery As String
12: Dim userName As String
13:
14: ' オブジェクトコンテキストの取得
15: Set objContext = GetObjectContext()
16:
17: ' エラーハンドラの設定
18: On Error GoTo ErrHandle
19:
20: ' 発行するSELECT文
21: strQuery = "SELECT 伝票情報.ID As ID, 伝票情報.CUSTOMERID As CUSTOMERID, " & _
"顧客情報.NAME As CUSTOMERNAME, 伝票情報.SUBTOTAL As SUBTOTAL," & _
"伝票情報.TAX As TAX, 伝票情報.TOTAL As TOTAL," & _
"伝票情報.BILLID As BILLID, 伝票情報.BILLDATE As BILLDATE," & _
"伝票情報.MADEBILLFLAG As MADEBILLFLAG, 伝票情報.ONEBILLFLAG As ONEBILLFLAG," & _
"伝票情報.REQ_CONSENTFLAG As REQ_CONSENTFLAG, 伝票情報.REQ_CONSENTDATE As REQ_CONSENTDATE," & _
"伝票情報.REQ_CONSENTCOMMENT As REQ_CONSENTCOMMENT, 伝票情報.CONSENTEDFLAG As CONSENTEDFLAG," & _
"伝票情報.CONSENTEDDATE As CONSENTEDDATE, 伝票情報.CONSENTEDCOMMENT As COMSENTEDCOMMENT," & _
"伝票情報.REJECTEDFLAG As REJECTEDFLAG, 伝票情報.REJECTEDDATE As REJECTEDDATE," & _
"伝票情報.REJECTEDCOMMENT As REJECTEDCOMMENT, 伝票情報.SENDFLAG As SENDFLAG," & _
"伝票情報.SENDDATE As SENDDATE, 伝票情報.SENDCOMMENT As SENDCOMMENT," & _
"伝票追加情報.DIVISION As DIVISION, 伝票追加情報.PERSON As PERSON," & _
"伝票追加情報.DELIVERDATE As DELIVERDATE, 伝票追加情報.SENT_ADDR As SENT_ADDR," & _
"伝票追加情報.SENT_TEL As SENT_TEL, 伝票追加情報.MEMO As MEMO," & _
"伝票情報.ACCOUNTINGFLAG As ACCOUNTINGFLAG, 伝票情報.ACCOUNTINGDATE As ACCOUNTINGDATE," & _
"伝票情報.ACCOUNTINGCOMMENT As ACCOUNTINGCOMMENT, 伝票情報.MADEDATE," & _
"伝票情報.MADEUSER As MADEUSER, 伝票情報.REQ_CONSENTUSER As REQ_CONSENTUSER," & _
"伝票情報.CONSENTEDUSER As CONSENTEDUSER, 伝票情報.REJECTEDUSER As REJECTEDUSER," & _
"伝票情報.SENDUSER As SENDUSER, 伝票情報.ACCOUNTINGUSER As ACCOUNTINGUSER," & _
"伝票情報.LASTUSER As LASTUSER, 伝票情報.LASTDATE As LASTDATE," & _
"伝票情報.DELETEDFLAG As DELETEDFLAG" & _
" FROM 伝票情報, 顧客情報, 伝票追加情報" & _
" WHERE 伝票情報.CUSTOMERID = 顧客情報.ID" & _
" AND 伝票情報.ID = 伝票追加情報.SLIPID" & _
" AND 伝票追加情報.DELETEDFLAG = 0"
22:
23: ' 請求書作成ずみのものだけ
24: strQuery = strQuery & " AND 伝票情報.MADEBILLFLAG=1"
25: ' 指定された請求書に結び付けられているものだけ
26: strQuery = strQuery & " AND 伝票情報.BILLID=" & BillID
27:
28: ' データベースと接続し,SELECT文を発行
29: Set objRec = CreateObject("ADODB.Recordset")
30: ' カーソルロケーションをクライアントカーソルに設定
31: objRec.CursorLocation = adUseClient
32:
33: ' SELECT文の実行
34: objRec.Open strQuery, g_DBConnection, adOpenStatic, _
adLockReadOnly, adCmdText
35:
36: ' ' データベースコネクションを遮断
37: Set objRec.ActiveConnection = Nothing
38:
39: ' 取得したレコードセットを戻り値とする
40: Set GetRecordsByBillID = objRec
41: Set objRec = Nothing
42:
43: ' トランザクションのコミット
44: objContext.SetComplete
45:
46: ' オブジェクトコンテキストの解放
47: Set objContext = Nothing
48:
49: Exit Function
50:
51: ErrHandle:
52: ' エラーハンドラ
53: objContext.SetAbort
54: Set objContext = Nothing
55: Set objRec = Nothing
56:
57: ' エラーの再発行
58: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
59: End Function