- ベストアンサー
データベースアクセスで。
VBとAccessを使用してデータのやりとりを行っています。 Data1を貼り、DatabaseNameを設定するところまではうまくいきましたが、RecordSourceプロパティをクリックすると「データベースの形式'C:\xxx\xxx.mdb'を認識できません」と表示されてしまいます。 別DBを設定すると上記の現象がでないので、Accessが原因だとは思いますが、VBを使用する際の注意点などあるのでしょうか? 【環境】WinXP SP2 VB6.0 / Access2000です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 恐らく-cinq-さんはVisual StudioのSP4以降をあてていないですよね? つまり http://support.microsoft.com/?scid=kb;ja;257780&spid=2971&sid=195 のエラーと同一のものと思われます。 恐らくこの内容は読んでも意味不明だと思いますが、ようはJetデータベースエンジンのバージョンが古いのでアクセス2000にはアクセスできないということです。VBのサンプルDBはアクセス97形式ですので。 Visual StudioのSP6を当てて下さい。それで解決するはずです(connectの形式にAccess 2000が追加されます)。 SP6はここからダウンロードできます。 http://www.asia.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6SP6.asp
その他の回答 (1)
- takasebou
- ベストアンサー率42% (61/144)
この質問は、dataコントロールオブジェクトを使用して行うとのことでしょうか? それともDAOコントロールでしょうか? ADOコントロールでしょうか? また別DBとはOracleやSQLサーバー、Excelなどを指定すると、ということでしょうか? それともAccessの別ファイルという事でしょうか?(別のmdbファイルということでしたら、ファイルの破損だと思います) 書いてある内容からすると Dataコントロールオブジェクトを使われているようですが、 Connectを Access 2000、DefaultTypeを Jetに指定してありますか?(別にODBCでもいいんですけど……) あとAccessのmdbファイルそのものは、普通にアクセスで開く事ができますか?(開けないのでしたら、ファイルの破損だと思います) あまりにデータ容量が大きすぎたりしませんか?(Dataオブジェクトコントロールは確かあまりにサイズがでかいと、うまく動かなかった気がします。実際に業務で使った事はないので気のせいかもしれません)。 その場合、Accessのメニューバーから「ツール」→「データベースユーティリティ」→「最適化/修復」は試してみましたか?(Accessはデータのやりとりをしていると、データ上にごみがたまります(キャッシュみたいなものです)。たまに最適化してあげましょう)。 これら以外の原因でないとすると、もう少し状況を細かく(何を使って、何が出来て、何が出来ないのか)書いてくださると回答できるかもしれませんが。。。
補足
内容が足りなくてすみません。 1.dataコントロールオブジェクトを使用しています。 2.別DBとはAccessの別ファイルです。VbのサンプルDBだと思いますが、「BIBLIO.MDB」は参照できます。 3.Connectは Accessに指定してあります。 4.Accessのmdbファイルそのものは、普通にアクセスで開く事ができます。 5.データ容量は2KBと小さいです。 OpenDatabaseなどでデータを開いたり、更新したりは可能です。よろしくお願いします。
お礼
ご回答ありがとうございました。 返事が遅くなり申し訳ありません。 SP6を当ててもう一度行ってみます。