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