![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
http://oshiete.goo.ne.jp/qa/8782706.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
No.2ベストアンサー
- 回答日時:
> この場合は、参照設定を最初に疑って下さい。
これは、リスクというよりも心構えの問題。で、本当のリスクはADOがサポートされなくなること。し、しかし、それはありえない話と思いますよ。そんなことをしたら、世の中大混乱。心配は無用と言えます。ADO機能を活用するのは、Accessソフトの開発者としては当たり前のことですから・・・。
No.1
- 回答日時:
おおおーーすごい。できました!
参考までにW7以上、ACCESS2007以降であれば、以下リスクは問題ないのでしょうか。
(それとも随時いずれかが変わった際には、検証必要でしょうか)
>
同じAccess、OSのバージョンであれば問題は発生しませんが、これらバージョンが異なればAccessが動作しないという現象が現れます。 この場合は、参照設定を最初に疑って下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ステートメントの末尾が不正です
-
Excel2019 非表示モジュール内...
-
イベントプロパティに指定した...
-
「パラメータが無効のため、処...
-
[ マクロ ] エラーになったり...
-
エクセルに埋め込んだPDFの実行...
-
UNIX(Solaris)でのtarファイル...
-
macのofficeのVBAでファイルを...
-
エクセル2013が立ち上がらない
-
英語の画面が出てフリーズして...
-
Windowsのメール/カレンダーア...
-
拡張子がXMLのページが開けませ...
-
Linux再起動後のエラーメッセー...
-
VBA オートメーションエラー(...
-
Linux上のコンパイルについて
-
マクロが急に動かなくなった
-
ペイントで取り込んだ画像のサ...
-
WinXP SP1からSP2へ更新時のエラー
-
d3dx9_39.dllが見つからないと...
-
UNIXデータ展開時のエラーメッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA+VBSによる別インスタンスB...
-
Excel2019 非表示モジュール内...
-
ステートメントの末尾が不正です
-
ゼロからのOS自作入門について
-
"echo off"の動きをLinuxのシェ...
-
Linux再起動後のエラーメッセー...
-
[ マクロ ] エラーになったり...
-
イベントプロパティに指定した...
-
エクセルに埋め込んだPDFの実行...
-
Apache2.4の起動でエラー
-
VBA オートメーションエラー(...
-
「パラメータが無効のため、処...
-
UNIXデータ展開時のエラーメッ...
-
Workbook_openでマクロが実行さ...
-
名前を一括削除するマクロ
-
UNIX(Solaris)でのtarファイル...
-
Windows Liveメール 新規作成...
-
(Windows7)VB6でODBC接続エラー
-
OUTLOOKが起動しない
-
遠隔地にあるパソコンのオフィ...
おすすめ情報