List 6-23 DataObj.CustomerコンポーネントのIsDeletedメソッド
1: Public Enum DeletedFlag
2: ' レコードの状態を示す列挙型
3: ID_Exists = 0 ' 存在する
4: ID_Deleted = 1 ' 削除されている
5: ID_NotFound = 2 ' 存在しない
6: End Enum
7:
8: Public Function IsDeleted(ByVal CUSTOMERID As Long) As DeletedFlag
9: ' 指定された顧客番号をもつ顧客が削除ずみであるかどうかを調べる
10: ' 【引数】
11: ' CUSTOMERID = 調査する顧客番号
12: ' 【戻り値】
13: ' 指定された顧客番号の顧客が削除されていればID_Deleted,
14: ' 存在すればID_Exists,存在しなければID_NotFoundを返す
15: Dim objContext As ObjectContext
16: Dim objConn As ADODB.Connection
17: Dim objRec As ADODB.Recordset
18:
19: ' オブジェクトコンテキストの取得
20: Set objContext = GetObjectContext()
21:
22: ' エラーハンドラの設定
23: On Error GoTo ErrHandle
24:
25: ' データベースに接続して,指定された顧客が存在するかどうかを調べる
26: Set objConn = CreateObject("ADODB.Connection")
27: objConn.Open g_DBConnection
28: Set objRec = objConn.Execute( _
"SELECT DELETEDFLAG FROM 顧客情報 WHERE ID=" & _
CUSTOMERID)
29:
30: If objRec.EOF Then
31: ' 指定された顧客はいない
32: IsDeleted = ID_NotFound
33: Else
34: If objRec.Fields("DELETEDFLAG").Value = True Then
35: ' 顧客は削除されている
36: IsDeleted = ID_Deleted
37: Else
38: ' 顧客は削除されていない
39: IsDeleted = ID_Exists
40: End If
41: objRec.Close
42: End If
43:
44: ' データベースとの接続を閉じてレコードセットを解放
45: Set objRec = Nothing
46: objConn.Close
47: Set objConn = Nothing
48:
49: ' コミットする
50: objContext.SetComplete
51:
52: ' オブジェクトコンテキストの解放
53: Set objContext = Nothing
54:
55: Exit Function
56:
57: ErrHandle:
58: ' エラーハンドラ
59: objContext.SetAbort
60: Set objContext = Nothing
61: Set objConn = Nothing
62: Set objRec = Nothing
63:
64: ' エラーの再発行
65: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
66: End Function