Access2002 VBでユーザ定義型は定義されていません

このQ&Aのポイント
  • Access2002 VBで起動パスの確認を実行すると「ユーザ定義型は定義されていません」というコンパイルエラーが表示されます。
  • 他の方の回答によると、「Microsoft DAO 3.6」への参照設定が必要とされていますが、ツールの中に「参照設定」が見つからない場合はどうすれば良いのでしょうか?
  • 初心者の質問ですが、教えていただけると助かります。
回答を見る
  • ベストアンサー

Access2002 VB で「ユーザ定義型は定義されていません」

Access2002で ------------------------------- Private Sub 起動パスの確認_Click() Dim db As DAO.Database Dim strPass As String Set db = CurrentDb strPass = db.Name Me.起動パス = strPass db.Close: Set db = Nothing End Sub ------------------------------- を実行すると コンパイルエラー: ユーザ定義型は定義されていません。 と表示されます。 他の方の質問の回答で、 ツール-参照設定 で「Microsoft DAO 3.6・・・」にチェックをつけてください。 とありましたが、ツールの中に「参照設定」が見つかりません。 この場合、どうしたら良いのでしょうか? 初歩的な質問ですみません。 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

参照設定はAccessのツールではなくツールのマクロからVisualBasicEditorを開きVisualBasicのツールに参照設定があります。 参照設定のDAOのObjectLibraryにチェックをしてください。

kunkuma
質問者

お礼

できました! とても助かりました。 素早い回答ありがとうございました。

関連するQ&A

  • Access 2000 の VB での テーブル作成について質問です。

    下記のようにAccess 2000のVBからDAOを使ってテーブルを作っておりますが、 作るフィールドに規定値の設定もVBからできないのでしょうか?DAOだと無理なのでしょぅか? 教えてください Dim db As DAO.Database Dim tbdef As DAO.TableDef Dim flID As DAO.Field Set db = CurrentDb Set tbdef = db.CreateTableDef("テーブル") Set flID = tbdef.CreateField("ID", dbInteger)   tbdef.Fields.Append flID   db.TableDefs.Append tbdef db.Close: Set db = Nothing

  • Access2002 VB がエラー

    Access2002 VBで以下のコーディングをしてます Dim db As Database Dim rs As Recordset Dim fld As Field Set db = CurrentDb Set rs = db.OpenRecordset("ConvertChar") これを実行するとdb宣言行で以下のエラーが表示されます。 コンパイルエラー: ユーザ定義型は定義されていません。 これは何が原因でエラーとなるのでしょうか? 宜しくお願いします。

  • VBAのコード

    参考書に従って次のようなコードを書きました。 Private Sub previewButton_Click() Dim db as DAO.Database Dim rs as DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("Q_ラベル印刷", dbOpenDynaset)* if me!......................以下略 *印のところで「パラメーターが少なすぎます。1を指定してください。」というメッセージが出ます。 どう直せばいいのでしょうか。 よろしくお願いします。

  • AccessVBAのCurrentDbメソッドでエラーになります

    Windows2000、Access2000を使っています。 オンラインヘルプを参考に作った下記のプログラムを走らせると、Set db = CurrentDbのところで「実行時エラー13:型が一致しません」のエラーになります。どうしてでしょう。 Sub b() Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field Set db = CurrentDb Set tdf = db.TableDefs("テーブル1") For Each fld In tdf.Fields Debug.Print fld.Name Next fld End Sub 参照設定を見ると、Microsoft dao 3.0 Object LibraryにチェックがついていますのでDAOは使えるはずなんですが・・・。

  • 拡張子が.mdbでないアクセスファイルを開くには?

    拡張子が.mdbでない以下のようなアクセスファイルOSAKA.sffを開くにはどのようにしたらよいですか? 現状、 Set db の行で 実行時エラー3343“データベースの形式認識できません”とエラーが出ます。 Private Sub Command5_Click() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset 'デフォルトのワークスペースを定義する Set ws = DBEngine.Workspaces(0) 'データベースを開く Set db = ws.OpenDatabase("C:\Data\OSAKA\OSAKA.sff") End Sub

  • Access97でのエラー

    フォームを開くときに次のVBAを実行します。 Private Sub Form_Open(Cancel As Integer) Dim db As DAO.DATABASE Dim rs As DAO.Recordset Set db = CurrentDb ところが、Set db = CurrentDb の行で次のエラーが出ます。 実行時エラー '429' ActiveXコンポーネントはオブジェクトを作成できません。 ちなみに、これを作成したのは他のパソコンで、そのパソコンでは問題なく実行します。 Windows2000のパソコンにコピーして実行しようとするとダメです。 どなたかおわかりの方、いらっしゃいましたら、教えていただけないでしょうか?

  • ACCESS2000でテーブルをVBAからテーブルを読み込む方法

    ACCESS2000を使っています。 以下の指定をした場合、「ユーザ定義型は定義されていません」のメッセージが出て、コンパイルが通りません。 なにかインストールや設定が必要なのでしょうか? Dim db As Database Dim rs As Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("テーブル名", dbopendynaset) ヘルプ等を自分なりに参照してみたのですが、わかりません。教えてください。

  • DAOでレコード数を取得したい(ACESSVBA)

    レコードの行数は複数あるのに --------------------------------------------------------- Sub あ() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("T_test", dbOpenDynaset) MsgBox rs.RecordCount Set rs = Nothing Set db = Nothing End Sub --------------------------------------------------------- これでレコード数を取得しようとすると1がかえるのですが なぜレコードの行数を取得できないのでしょうか?

  • SELECT文を発行して、ACCESSより取得する方法

    既存のプログラムを元に、 以下のようなソースを作成したのですが、 取得出来ませんでした。 参照設定やパスの設定、SQL文は正しいです。 どこがマズイのでしょうか? アドバイスをお願い致します。 Dim db  As DAO.Database Dim rs  As DAO.Recordset Dim SQL As String 'データベース接続 Set db = OpenDatabase("DBのパス") 'データ検索SQL SQL = "" SQL = " SELECT文 " 'ACCESSより取得 Set rs = db.OpenRecordset(SQL) db.Close rs.Close

  • ハイパーリンク型の場合、エラーになります。

    DAOでテーブルを作成しようとすると ハイパーリンク型の場合、エラーになります。 Sub Sample() Dim db As DAO.Database Dim tbdef As DAO.TableDef Dim Field1 As DAO.Field Set db = CurrentDb Set tbdef = db.CreateTableDef("T_test") Set Field1 = tbdef.CreateField("氏名", dbHyperlinkField) tbdef.Fields.Append Field1 db.TableDefs.Append tbdef db.Close: Set db = Nothing End Sub Type プロパティ のヘルプを見ると、dbHyperlinkFieldはないのですが dbHyperlinkFieldではないのでしょうか? DAO.DataTypeEnum のメンバの中にもハイパーリンクはないようです。