List 6-153 DataObj.SlipDetailコンポーネントのGetRecords_GroupProductメソッド
1: Public Function GetRecords_GroupProduct(ByVal SlipID As Long) As ADODB.Recordset
2: ' 指定された伝票に付随する明細を製品ごとにまとめて
3: ' ADODB.Recordsetオブジェクトとして返す
4: ' 【引数】
5: ' SlipID = 伝票を特定する伝票番号
6: ' 【戻り値】
7: ' その伝票に結び付けられている明細を製品ごとにまとめたADODB.Recordsetオブジェクト
8: ' 戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたRecordset
9: Dim objContext As ObjectContext
10: Dim objRec As ADODB.Recordset
11:
12: ' オブジェクトコンテキストの取得
13: Set objContext = GetObjectContext()
14:
15: ' エラーハンドラの設定
16: On Error GoTo ErrHandle
17:
18: ' データベースと接続し,SELECT文を発行する
19: Set objRec = CreateObject("ADODB.Recordset")
20: ' カーソルロケーションをクライアントカーソルに設定する
21: objRec.CursorLocation = adUseClient
22:
23: ' SELECT文の実行
24: objRec.Open "SELECT PRODUCTID, SUM(NUMBER) As NUMBER FROM 明細情報" & _
" WHERE DELETEDFLAG = 0 AND SLIPID = " & SlipID & _
" GROUP BY PRODUCTID", _
g_DBConnection, adOpenStatic, adLockReadOnly, adCmdText
25:
26: ' データベースコネクションを切り離す
27: Set objRec.ActiveConnection = Nothing
28:
29: ' 取得したレコードセットを戻り値とする
30: Set GetRecords_GroupProduct = objRec
31: Set objRec = Nothing
32:
33: ' トランザクションのコミット
34: objContext.SetComplete
35:
36: ' オブジェクトコンテキストの解放
37: Set objContext = Nothing
38:
39: Exit Function
40: ErrHandle:
41: ' エラーハンドラ
42: objContext.SetAbort
43: Set objContext = Nothing
44: Set objRec = Nothing
45:
46: ' エラーの再発行
47: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
48: End Function