• 締切済み

データベースを切り替えて使う方法

初心者です。 環境:WindowsXP,VB6,Access2000 Access2000のデータベースを切り替えて使いたいのですが、うまく動作しません。 ADO使用しています。 普通に考えて、いったんつないでいたDBを mRs.Close mCn.Close Set mRs = Nothing Set mCn = Nothing で接続をいったん切断して、 Call ConnectType で再度DBに接続しましたが、接続されているのは前のDBです。 1 原因がわかりません。 2 DBを切り替えて使う方法がわかりません。 もちろん切り替えの処理以外は現在正常に動作しています。 ご教授よろしくお願いいたします。 <プログラム> Private mCn As ADODB.Connection Private mRs As ADODB.Recordset Private DBfile As String Private Const DEF_CONNECT As String     = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\word.mdb" Private Const DEF_SQL As String = "Select * From tango_tbl" Private Sub ConnectType() Set mCn = New ADODB.Connection mCn.ConnectionString = DEF_CONNECT mCn.Open Set mRs = New ADODB.Recordset mRs.Source = DBfile mRs.ActiveConnection = mCn mRs.CursorType = adOpenDynamic mRs.LockType = adLockOptimistic mRs.Open End Sub

みんなの回答

noname#4564
noname#4564
回答No.1

> 接続をいったん切断して、 > Call ConnectType > で再度DBに接続しましたが、接続されているのは前のDBです。 > Private Const DEF_CONNECT As String     = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\word.mdb" > > Private Sub ConnectType() > Set mCn = New ADODB.Connection > mCn.ConnectionString = DEF_CONNECT おなじ接続文字列を設定しているのですから、毎回おなじDBに接続されるのは当り前かと。(^-^; > Private Const DEF_CONNECT As String     = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\word.mdb" 接続先が固定でないのなら、↑この部分は > Private Const DEF_CONNECT As String     = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" まで記述し、ファイル名をコモンダイアログ等から読み込めばよいと思います。

gorou
質問者

お礼

ここへの返事が手違いでうまく反映されてなかったみたいです。 ここには「回答ありがとうございます。すいませんが質問の 書き方がわるかったようで、回答してくださったことは もちろんやってますし、DBのファイルは同じでテーブルを変更しています。」 とご返事していたのですが、うまく反映されていなかってみたいです。 なぜ反映されていないかこれを書いていて気づいたのですが「お礼する」 ボタンを2度押さないといけないのに1度しか押さないでWindowを閉じた みたいです。 すいませんでした。

関連するQ&A

専門家に質問してみよう