List 6-67 DataObj.ProductコンポーネントのGetRecordsメソッド
1: Public Function GetRecords(ByVal IncludeDeleted As Boolean) As ADODB.Recordset
2: ' 登録されている製品の一覧をADODB.Recordsetオブジェクトとして返す
3: ' 【引数】
4: ' IncludeDeleted = 削除ずみを含むかどうかのフラグ
5: ' Trueのとき削除ずみを含む,Falseのとき削除ずみを含まない
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:
13: ' オブジェクトコンテキストの取得
14: Set objContext = GetObjectContext()
15:
16: ' エラーハンドラの設定
17: On Error GoTo ErrHandle
18:
19: ' 発行するSELECT文
20: strQuery = "SELECT ID, PRODUCTNAME, YOMIGANA, PRICE, STOCK, MEMO, " & _
"BACKORDER, MADEUSER, MADEDATE, LASTUSER, LASTDATE, " & _
"DELETEDFLAG FROM 製品情報"
21:
22: ' 削除ずみを含まないようにするか
23: If Not IncludeDeleted Then
24: strQuery = strQuery & " WHERE DELETEDFLAG=0"
25: End If
26:
27: ' データベースと接続し,SELECT文を発行する
28: Set objRec = CreateObject("ADODB.Recordset")
29: ' カーソルロケーションをクライアントカーソルに設定する
30: objRec.CursorLocation = adUseClient
31:
32: ' SELECT文の実行
33: objRec.Open strQuery, g_DBConnection, adOpenStatic, adLockReadOnly, adCmdText
34:
35: ' データベースコネクションを切り離す
36: Set objRec.ActiveConnection = Nothing
37:
38: ' 取得したレコードセットを戻り値とする
39: Set GetRecords = objRec
40: Set objRec = Nothing
41:
42: ' コミットする
43: objContext.SetComplete
44:
45: ' オブジェクトコンテキストの解放
46: Set objContext = Nothing
47:
48: Exit Function
49:
50: ErrHandle:
51: ' エラーハンドラ
52: objContext.SetAbort
53: Set objContext = Nothing
54: Set objRec = Nothing
55:
56: ' エラーの再発行
57: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
58: End Function