- ベストアンサー
ACCESS2000でコンパイルエラーが表示される原因と解決方法
- 前任者が作成したACCESS2.0で使用していたものを、ACCESS2000でコンパイルすると、ユーザ定義型は定義されていませんというエラーメッセージが表示されます。
- 問題は、ACCESS2.0とACCESS2000の互換性の違いによるものです。ACCESS2000では、ACCESS2.0で使用されていたユーザ定義型はサポートされなくなったため、コンパイルエラーが発生します。
- 解決方法は、以下の手順に従って行います。まず、コンパイルエラーが発生している箇所を特定し、その部分のユーザ定義型を修正または削除します。次に、再度コンパイルを行い、エラーが解消されることを確認します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#1さんの回答に補足。 ActiveX Data Objects Libraryは 参照設定から必ず外しておいてください。
その他の回答 (4)
- palmmy
- ベストアンサー率38% (841/2169)
#4です。 すいません。 MsgBox X は消してください。
- palmmy
- ベストアンサー率38% (841/2169)
#3さんので動くはずですよ。 下記のソースでうちのACCESSは動きました。 Sub ページ設定P() Dim DB As Database, T As Recordset, X As Integer, I As Integer, 図面番号 As Integer Set DB = CurrentDb() Set T = DB.OpenRecordset("図面リスト印刷TEMP") ' テーブルを開きます。 X = DCount("印刷", "図面リスト印刷TEMP", "[印刷]=No") MsgBox X If X > 27 Then X = X - 27 + 43 X = X Mod 42 MsgBox X For I = 1 To X T.MoveLast T.Delete Next I Else X = X - 27 + 43 For I = 1 To X T.MoveLast T.Delete Next I End If End Sub
お礼
どうも有難う御座いました。無事解決致しました。これからもっと勉強を行い邁進していきます。
- tsukasa-12r
- ベストアンサー率65% (358/549)
Dim DB As Database, T As Table, X As Integer, I As Integer, 図面番号 As Integer ↓ Dim DB As Database, T As Recordset, X As Integer, I As Integer, 図面番号 As Integer に Set T = DB.OpenTable("図面リスト印刷TEMP") ↓ Set T = DB.OpenRecordset("図面リスト印刷TEMP") にすればいいんじゃないかと思います。
お礼
どうも有難う御座いました。無事解決致しました。これからもっと勉強を行い邁進していきます。
- palmmy
- ベストアンサー率38% (841/2169)
参照設定でDAOがあるか確認してください。 上から3番目にあった方が良いのですが、 バージョンも確認してください。 Visual Basic for Application Microsoft Access 9.0 Object Library Microsoft DAO 3.6 Object Library になってれば良いかと思います。
補足
早速の回答有難う御座いました。参照設定を確認し再度試してみましたが、T As Tableのところで同様のエラーメッセージが表示されてしまいました。申し訳ありませんが、何卒ご教授宜しくお願い致します。
補足
早速の回答有難う御座いました。参照設定を確認し再度試してみましたが、T As Tableのところで同様のエラーメッセージが表示されてしまいました。申し訳ありませんが、何卒ご教授宜しくお願い致します。