List 6-50 DataObj.CustomerコンポーネントのGetRecordsメソッド
1: Public Function GetRecords(ByVal IncludeDeleted As Boolean) _
As ADODB.Recordset
2: ' 登録されている顧客の一覧をADODB.Recordsetオブジェクトとして返す
3: ' 【引数】
4: ' InsludeDeleted = 削除ずみを含むかどうかのフラグ
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, NAME, YOMIGANA, ZIP, ADDRESS, TELEPHONE, FAX, " & _
"BILLDAY, MEMO, 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