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