Access2002 VBでユーザ定義型は定義されていません
- 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・・・」にチェックをつけてください。 とありましたが、ツールの中に「参照設定」が見つかりません。 この場合、どうしたら良いのでしょうか? 初歩的な質問ですみません。 教えてください。
- kunkuma
- お礼率80% (8/10)
- その他(データベース)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
参照設定はAccessのツールではなくツールのマクロからVisualBasicEditorを開きVisualBasicのツールに参照設定があります。 参照設定のDAOのObjectLibraryにチェックをしてください。
関連する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
- ベストアンサー
- Visual Basic
- 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宣言行で以下のエラーが表示されます。 コンパイルエラー: ユーザ定義型は定義されていません。 これは何が原因でエラーとなるのでしょうか? 宜しくお願いします。
- ベストアンサー
- Visual Basic
- 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を指定してください。」というメッセージが出ます。 どう直せばいいのでしょうか。 よろしくお願いします。
- 締切済み
- その他MS Office製品
- 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は使えるはずなんですが・・・。
- ベストアンサー
- その他MS Office製品
- 拡張子が.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
- ベストアンサー
- Visual Basic
- 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がかえるのですが なぜレコードの行数を取得できないのでしょうか?
- ベストアンサー
- その他MS Office製品
- 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
- ベストアンサー
- Visual Basic
- ハイパーリンク型の場合、エラーになります。
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 のメンバの中にもハイパーリンクはないようです。
- ベストアンサー
- オフィス系ソフト
お礼
できました! とても助かりました。 素早い回答ありがとうございました。