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