- ベストアンサー
ACCESSを活用して商品変動を捉えたい(5再再)
http://okwave.jp/qa/q8782706.html 上記について標準モジュールも作成して、先のクエリーを実行しましたが、 その際に !コンパイル エラー: ユーザー定義型は定義されていません。 と出ます。 5行目の rst As ADODB.Recordset 箇所が反転されています。 一回でできるのは魅力なのですが、本当に実装できるのでしょうか。 (クエリーはたしかに保存できました) Public Function DBLookup(ByVal strQuerySQL As String, _ Optional ByVal ReturnValue = Null) As Variant On Error GoTo Err_DBLookup Dim DataValue Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset With rst .Open strQuerySQL, _ CurrentProject.Connection, _ adOpenStatic, _ adLockReadOnly If Not .BOF Then .MoveFirst DataValue = .Fields(0) End If End With Exit_DBLookup: On Error Resume Next rst.Close Set rst = Nothing DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue) Exit Function Err_DBLookup: MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _ "・Err.Description=" & Err.Description & Chr$(13) & _ "・SQL Text=" & strQuerySQL, _ vbExclamation, " 関数エラーメッセージ" Resume Exit_DBLookup End Function Public Function DBLookup(ByVal strQuerySQL As String, _ Optional ByVal ReturnValue = Null) As Variant On Error GoTo Err_DBLookup Dim DataValue Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset With rst .Open strQuerySQL, _ CurrentProject.Connection, _ adOpenStatic, _ adLockReadOnly If Not .BOF Then .MoveFirst DataValue = .Fields(0) End If End With Exit_DBLookup: On Error Resume Next rst.Close Set rst = Nothing DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue) Exit Function Err_DBLookup: MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _ "・Err.Description=" & Err.Description & Chr$(13) & _ "・SQL Text=" & strQuerySQL, _ vbExclamation, " 関数エラーメッセージ" Resume Exit_DBLookup End Function
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> この場合は、参照設定を最初に疑って下さい。 これは、リスクというよりも心構えの問題。で、本当のリスクはADOがサポートされなくなること。し、しかし、それはありえない話と思いますよ。そんなことをしたら、世の中大混乱。心配は無用と言えます。ADO機能を活用するのは、Accessソフトの開発者としては当たり前のことですから・・・。
その他の回答 (1)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
http://www.accessclub.jp/actips/tips_32.htm http://accessvba.pc-users.net/ado/ ADO機能を利用する場合は、参照設定を!
お礼
おおおーーすごい。できました! 参考までにW7以上、ACCESS2007以降であれば、以下リスクは問題ないのでしょうか。 (それとも随時いずれかが変わった際には、検証必要でしょうか) > 同じAccess、OSのバージョンであれば問題は発生しませんが、これらバージョンが異なればAccessが動作しないという現象が現れます。 この場合は、参照設定を最初に疑って下さい。