人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【Microsoft Access2003】
ACCESSのODBCリンクテーブルについてですが…
PCが2台あり、普段はPC1上のSQLサーバーに
接続するようになっています。
(リンクテーブルは複数あります。)
これを、一度にすべてのテーブルをPC2側に接続するように変更することは
できますか?

●質問者: db_Magician
●カテゴリ:コンピュータ
✍キーワード:access Microsoft ODBC pc SQL
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● iwakaba
●20ポイント

http://office.microsoft.com/ja-jp/access/HP051876231041.aspx

http://www.penhagi.com/access/ota2003/677.htm

ACCESS のリンクテーブルマネージャーで出来たと思います

どうでしょうか?

◎質問者からの返答

回答ありがとうございます。

リンクテーブルマネージャーを使ってみましたが、接続先PCが見つからない場合だけ

接続先設定画面が表示されました。

今回はPC1・PC2とも存在する状態でリンク貼り変えをする必要があります。


2 ● ken33jp
●20ポイント

テーブル構成がまったく同じなら、

ODBCの設定の接続先を変えるだけでOKです。

http://q.hatena.ne.jp/answer

◎質問者からの返答

回答ありがとうございます。

どうやって変えればいいのでしょうか…


3 ● bmax
●50ポイント ベストアンサー

該当mdbにてモジュールを作成し、下記のコードを貼り付けて実行してください。

("ODBC;???"の部分は下記の方法でリンク先を取得して置き換えてください

どれでもよいのでPC2のテーブルへのリンクテーブルを作成します。
作成したリンクテーブルをデザインビューで表示して、そこからプロパティを表示します。
「説明」の項目の内容の「TABLE=」の前までをコピーします
コピーしたらこのリンクテーブルは破棄してください

)


ただし下記のコードを使うには以下の前提条件があります

(質問者様の環境の前提条件がわからなかったため)


1.PC1とPC2に存在するテーブル名は同一である

2.PC1とPC2のDBでテーブルの所有者(dbo)は同一

3.dbo.tablenameに対してリンクテーブルを作成するとリンクテーブル名はdbo_tablenameの形になりますが、そのまま変更していない

4.dbo名に"_"を含まない


※以上の条件に当てはまらない場合は下記マクロの該当処理を修正する必要があります

※リンクテーブルを削除→再作成しているので、mdbのバックアップを取ることをお勧めします

SUB LinkDBChange()

Dim db As DAO.Database
Dim td As DAO.TableDef
Dim tableName As String
Dim newTd As DAO.TableDef

Set db = CurrentDb
For Each td In db.TableDefs
 If Not CBool(td.Attributes And DAO.dbSystemObject) Then
 tableName = td.Name
 db.TableDefs.Delete td.Name
 Set newTd = db.CreateTableDef(tableName)
 newTd.Connect = "ODBC;???"
 newTd.SourceTableName = Mid(tableName,1,Instr(1,tableName,"_")-1) & "." & Mid(tableName,Instr(1,tableName,"_")+1)
 db.TableDefs.Append newTd
 End If
Next td

END SUB

http://q.hatena.ne.jp/1209603819

◎質問者からの返答

回答ありがとうございます。

1.PC1とPC2に存在するテーブル名は同一です。

2.PC1とPC2のDBでテーブルの所有者は同一です。

3.リンクテーブル名はリネームしています。

4.テーブル名に"_"を含む物があります。

3と4の箇所を修正してやってみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ