• ベストアンサー
  • 暇なときにでも

VB6でデータベースを変えるとテーブル形式エラーになります

VB6 とACCESS97 でプログラムを作成、問題なく動いていました。 事情により、このパソコンにACCESS2000をインストールし(ACCESS97 と ACCESS2000 の二つが入っています)VB6のデータベースをACCESS2000に変換しました。 VBの参照設定をMicrosoft Access8.0 Object Livery から9.0 に換え、ACCESS 2000のデータベースのプロパティでファイルの種類をMicrosoft Access から Microsoft Access for Windows に換えました。 これを実行すると「実行時エラー3343 データベースの形式 "C:\SALES\TEST.mdb" を認識できません」と出ます。 他に修正すべきところがあるのでしょうか?それともバージョンの違うACCESS を併用するのはまずいのでしょうか? TEST.mdb をクリックすると、ACCESS2000で問題なく立ち上がります。 なお、VBからACCESSへの接続は下記のように書いています。 Public DB As DAO.Database Set DB = DBEngine.Workspaces(0).OpenDatabase("C:\SALES\TEST.mdb") 宜しくお願いします。

  • GA1
  • お礼率80% (21/26)

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数2998
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • todo36
  • ベストアンサー率58% (728/1234)
参考URL:
http://www.google.com/search?q=3343+mdb&hl=ja&num=100&lr=lang_ja

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとうございます。 http://www.amy.hi-ho.ne.jp/jbaba/messages/757.html をみて 参照設定 DAO3.6 に換える事により解決しました。 google も時々見るのですが、検索法が悪いのかなかなか見つけ切れません。 今後も宜しくお願いします

関連するQ&A

  • VBからAccessのデータベースをよみたい。けどエラー

    こんにちわ 先日 http://oshiete1.goo.ne.jp/kotaeru.php3?q=681876 でVBからアクセスのデータベースを読み込むことで 質問したものです。 (VB6.0 Access2000 Win2000でやってます) VB6.0にバージョンアップし(DAO3.6を選択するため)、変数も定義できたのですが、 Private Sub Form_Load()の部分で(以下) Set wspace = DBEngine.Workspaces(0) Set dbname = wspace.OpenDatabase(mypath & "\db1.mdb") dbname.QueryTimeout = 0 .QueryTimeoutに対してコンパイルエラーがでてしまいます。「メソッドまたはデータ メンバが見つかりません」というものです。そういえばOpendatabaseなどは「.」を打った時点でメソッド?の一覧が出るのですが、QueryTimeoutはでてきません。 DAO3.6以外にもなにか追加しないといけないのでしょうか? ヘルプで見たのですがメンバとは「コレクション、オブジェクト、またはユーザー定義型を構成する要素。」・・・ということでチンプンカンプンです(ノД`) ちなみにdbname.QueryTimeout = 0の部分をコメントアウトすると、その1つ前の行に対して「型が一致しません」とでてしまいます(ノ∀;) Accessを読み込んだ後は特に複雑なことはしないので(足したり参照する程度)、ここさえのりきれば・・・なのですがエラーばかりでて困ってます(ノД`) それともdb1.mdbファイルじたいがなにか読み込めない形式になってることが原因なのでしょうか? VB超初心者にもわかるようにコメントいただけると嬉しいですM(__)M

  • データベースアクセスで。

    VBとAccessを使用してデータのやりとりを行っています。 Data1を貼り、DatabaseNameを設定するところまではうまくいきましたが、RecordSourceプロパティをクリックすると「データベースの形式'C:\xxx\xxx.mdb'を認識できません」と表示されてしまいます。 別DBを設定すると上記の現象がでないので、Accessが原因だとは思いますが、VBを使用する際の注意点などあるのでしょうか? 【環境】WinXP SP2 VB6.0 / Access2000です。

  • Accessデータベースのファイル形式(97ファイル形式と2000ファイル形式)

    Accessデータベースのファイル形式についての質問です。 Access2000、Access2002、Access2003とも、既定のファイル形式はAccess2000ファイル形式になっています。 ですが、当然ながら、Access97はそうではありませんよね。 そこで疑問なのですが、Access97、Access2000、Access2002、Access2003など、異なるバージョンのアAccessがある環境である1つのDBを運用していきたい、となったとき、どのような点に気をつければよいでしょうか? 例えば、ファイル形式は97にあわせるしかないでしょうか?また、もしそうだとすればファイル形式を97にするにはどうすればいいでしょうか? また、97では使えない機能があるので避けたほうがよいものなど、ありますでしょうか? どうぞよろしくお願いいたしますm(__)m

  • VB6.0からAccess2007のマクロを呼び出す方法について

    VB6.0からAccess2007のマクロを呼び出す方法について教えてください。 [vb6.0のソース] Private Sub ImportFile() Dim AccessMacro As Access.Application Set AccessMacro = GetObject("C:\test.mdb") AccessMacro.Run "Import" end Sub [test.mdbのマクロ] Public Sub Import() DoCmd.TransferText acImportDelim, "test インポート定義", "test", "C:\test.csv", False end Sub 上記の物を、XP+Access2003+VB6.0の環境でコンパイルし、Access2000が入っている環境で実行したところ、問題なくtest.mdbのマクロが実行できました。 (コンパイルした環境でも問題なく動作しました。) ところがこれをWin2003 + Access2007環境で実行したところ、 『実行時エラー 432 オートメーションの操作中にファイル名またはクラス名をみつけられませんでした。』 と表示されます。 おそらく、GetObject("C:\test.mdb")のところでエラーになっているものと思われるのですが、どのようにすれば原因が解消できるかが全くわかりません。 どなたがご教示ください。 よろしくお願いいたします。

  • 初心者ですデータベースの形式 ・・・を認識できませんというエラーがでます

    VBを始めたばかりの初心者でDB接続がいまだによくわかっていません。 以下のプログラムをデバックするとデータベースの形式 <ファイル名> を認識できません というエラーがでてしまいます。access2007はインストールしたばかりで何も設定とかは いじってないと思います。 利用ソフト VB2008 Express Edition MS ACCESS 2007 Imports dao Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'DAOのオブジェクト変数を宣言する() Dim ws As dao.Workspace Dim db As dao.Database Dim rs As dao.Recordset ' デフォルトのワークスペースを定義する 'DAO.DBEngine.Workspaces(0)の関数 'ws = DBEngine.Workspaces(0) Dim obj As DBEngine = New DBEngine() ws = obj.Workspaces(0) Try ' データベースを開く db = ws.OpenDatabase("C:\Users\PCUser\Desktop\database\Database1.accdb") ' テーブル名を指定してレコードセットを作成する rs = db.OpenRecordset("adress", RecordsetTypeEnum.dbOpenDynaset) Catch ex As Exception MsgBox(ex.Message) End Try MsgBox("DB接続") End Sub

  • Access97をAccess2000に変換したい

    Access97で作成されたmdbを、Access2000へ変換しようとしたところ、 おそらく変換自体はうまく行っているようなのですが、変換後のmdbを開こうとすると、”データベースの形式を認識できません。データベースは使用しているバージョンよりも新しいバージョンのMicrosoftAccessで作成されています。MicrosoftAccessを現在のバージョンにアップグレードしてからデータベースを開いてください”というダイアログが表示されます。 これはどうしたらAccess2000で開けるようになりますか。

  • データベースロック(VB)

    お世話になってます。 VB6.0+ACCESS97 ADOを使用してます。 複数ユーザーで使用する為、データベースにロックをかけたいのですが いろいろ本なので調べましたところDAOなら set db = DBEngine.OpenDatabase("c:\~~.mdb",True) というようにExclusiveプロパティをTrueに設定すれば いいみたいですが。これと同じことをADOでは どのようにすればよろしいのでしょうか? VB初心者の為、ADOしかわからないもので(^_^; なにか良いアドバイスがあればお願いします。

  • Access2000で作ったmdbをAccess2003で使える?

    タイトル通りですが、 Access97で作ったmdbファイルをAccess2000に 「データベース変換」し使ってきたファイルを Access2003でも使えるでしょうか? また、Access2000で作ったファイルは何の問題もなくAccess2003で使えるでしょうか? 単純なmdbではなくイベントプロシージャーを多用して、ある程度まとまったプログラムになってます。

  • データベースの形式を認識できません。Access97

    Access2000で作成したデータをAccess97で開こうとすると「データベースの形式を認識できません」という表示がでてきて、開くことができません。 大切なデータなので、どうしても読み込みたいのです。 どうすればいいでしょうか。

  • vb6でmdbのOpenDatabase時にエラー

    お世話になります。 PC98の環境でVB6でオフィスの入っていない環境です。 Set db1 = DBEngine.Workspaces(0).OpenDatabase(App.Path & "aaa.mdb",dbDriverComplete) を実行すると ”このプログラムは不正な処理を行ったので強制終了します。” となってしまいます。 昨日までは、エラーなく動いていたのですが原因がわかりません。 ご教授宜しくお願いします。