none
Visual Basic2013 で Access2013 に接続できません RRS feed

  • 質問

  • 初めて質問します。

    Visual Basic2013で、同じパソコンにインストールされているAccess2013に接続したいのですが、

    OLEDB、ODBCどちらで接続しても、

    「型'System.Runtime.interop.COMException'のハンドルされていない例外が(ファイル名)で発生しました。

    追加情報:エラーを特定できません。」というメッセージが出てきて止まってしまいます。

    「接続の追加」でテスト接続をすると問題なく接続できます。

    もし教えて下さる方がおりましたら、申し訳ありませんが教えていただけると幸いです。

    2014年2月8日 6:47

回答

  • > VB.NETの勉強をしながら家計簿を作ろうと思っています。

    何を作っているかと聞いたのはそういうこと(「家計簿」とか)ではなくて、どのようなアプリケーション(Windows Form アプリか Web アプリか、ADO.NET のライブラリを使うのかオフィスオートメーションの機能を使うのか等々)を作ろうとしているかということなのですが・・・

    以前使っていたのは ADO だと思いますが、VB.NET で開発ということですから ADO.NET を使うことになると思います。なのに、以前のように ADO を使おうとしたからうまく行かなかったのではないですか?

    >「接続の追加」でテスト接続をすると問題なく接続できます。

    というのは Visual Studio を Access に接続したのだと思いますが、それはアプリケーションからの接続とは違います(アプリケーションとは関係なく、Visual Studio が直接 ACCESS に接続している)。

    ADO.NET を使ったデータアクセスを勉強してください。ADO.NET でググればいくらでも参考になるページが見つかるはずです。

    • 回答としてマーク 星 睦美 2014年2月10日 1:46
    2014年2月8日 11:52

すべての返信

  • ご自分の環境、何を作っているかぐらいは最初に書けませんか。

    それから、

    > Visual Basic2013で、同じパソコンにインストールされているAccess2013に接続したいのですが、
    > OLEDB、ODBCどちらで接続しても、

    そこのところをどうやったのか、具体的に詳しく、ここに書いてあること以外はあなたの環境・状況を何も知らない他人が読んで分かるように書けませんか。

    2014年2月8日 7:16
  • ご指摘どうもありがとうございます。

    私の開発環境

    OS:WINDOWS 8.1

    使用ソフト

    Visual Studio 2013 Professional

    MicroSoft Office 2013

    以上の環境で、VB.NETの勉強をしながら家計簿を作ろうと思っています。

    (今までEXCEL VBAを使っていました)

    (OLE DB(ADODB)の場合)

    Dim cn as New.ADODB.Connection

    cn.Connectstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\My Documents\test.mdb"

    cn.Open()

    参照設定 Microsoft ActiveX Data Objects 2.8 Library

    (ODBCの場合)

    Dim cn as New System.Data.Odbc.OdbcConnection

    cn.connectstring="Driver={Microsoft Access Driver(*.mdb,*.accdb)}:DBQ=E:\My Documents\test.mdb"

    cn.Open()

    以上のような文で接続を試みましたが、cn.open()のところでエラーが出てそこから先に進めません。

    特にOLEDBのやり方はEXCEL VBAで使っていました。

    何か間違ったところがあれば指摘をお願いします。

    2014年2月8日 9:48
  • > VB.NETの勉強をしながら家計簿を作ろうと思っています。

    何を作っているかと聞いたのはそういうこと(「家計簿」とか)ではなくて、どのようなアプリケーション(Windows Form アプリか Web アプリか、ADO.NET のライブラリを使うのかオフィスオートメーションの機能を使うのか等々)を作ろうとしているかということなのですが・・・

    以前使っていたのは ADO だと思いますが、VB.NET で開発ということですから ADO.NET を使うことになると思います。なのに、以前のように ADO を使おうとしたからうまく行かなかったのではないですか?

    >「接続の追加」でテスト接続をすると問題なく接続できます。

    というのは Visual Studio を Access に接続したのだと思いますが、それはアプリケーションからの接続とは違います(アプリケーションとは関係なく、Visual Studio が直接 ACCESS に接続している)。

    ADO.NET を使ったデータアクセスを勉強してください。ADO.NET でググればいくらでも参考になるページが見つかるはずです。

    • 回答としてマーク 星 睦美 2014年2月10日 1:46
    2014年2月8日 11:52
  • SurferOnWww様

    いろいろ指導していただきありがとうございました。

    まだエラーは出ていますが、いろいろ調べていくうちに解決の糸口が掴めてきたようです。

    私のために時間を割いていただき、本当にありがとうございました。

    2014年2月8日 12:04