現在ACCESS2003で出荷データから売上の集計が可能となるように
試みているのですが、都合上プログラムとデータを分けて処理
したいと考えております。
そこで、リンクテーブルを活用したいと思うのですが、環境に
よってパスが変更となったり、データソースを切り替えたい時
などリンクテーブルのパスが変更できると非常に有難い状況です。
多少ネットで調べVBAで変更させる方法は見つかったのですが、
基本的に1つのリンク先を想定しているとの事で、複数は対応
していないようです。
例えば、リンクテーブルをそれぞれ
TBL伝票データ → C:\DB1\A.mdb
TBL得意先マスター → C:\DB2\B.mdb
TBL商品マスター → C:\DB2\C.mdb
と言ったように複数リンク先がある場合でそれぞれ
パス変更が生じた場合に簡単に変更ができる方法は無いでしょうか。
(リンクファイルが1つの場合)
Dim db As Database
Dim a As TableDef
Set db = CurrentDb()
For Each a In db.TableDefs
If Len(a.Connect) <> 0 Then
a.Connect = ";database=" & NEWPATH '→新しいパス名
a.RefreshLink
End If
Next
db.TableDefs.Refresh
No.1ベストアンサー
- 回答日時:
下記のコードを試してみて下さい。
ただし、すでにTBL伝票データ,TBL伝票データ,TBL商品マスターがリンクテーブルとして存在していることが条件です。Dim db As Database
Dim a As TableDef
Set db = CurrentDb()
For Each a In db.TableDefs
If Len(a.Connect) <> 0 Then
Select Case a.Name
Case "TBL伝票データ"
a.Connect = ";database=" & "C:\DB1\A.mdb" '→新しいパス名(TBL伝票データ
a.RefreshLink
Case "TBL得意先マスター"
a.Connect = ";database=" & "C:\DB2\B.mdb" '→新しいパス名(TBL得意先マスター
a.RefreshLink
Case "TBL商品マスター"
a.Connect = ";database=" & "C:\DB2\C.mdb" '→新しいパス名(TBL商品マスター
a.RefreshLink
End Select
End If
Next
db.TableDefs.Refresh
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel→Accessへ貼り付けがおかしい
-
Accessクエリーで両方のテーブ...
-
AccessのDBを理解するコツは?
-
Accessファイルを作成者以外は...
-
Accessのクエリでデータの入力...
-
AccessのクエリをExc...
-
EXCELのグラフ内データテーブル...
-
アクセスでデータベースを変更...
-
Access 旧データを新データに入...
-
Accessのリンクテーブルのパス...
-
AccessからExcelのデータを消す...
-
ACCESSデータを削除してしまい...
-
Access ユニオンクエリ グル...
-
GETPIVOTDATAを使...
-
グラフとデータテーブルの順序...
-
Excel 2019 のピボットテーブル...
-
Oracle 2つのDate型の値の差を...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
テーブルの存在チェックについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのリンクテーブルのパス...
-
Accessのクエリでデータの入力...
-
Accessクエリーで両方のテーブ...
-
Accessファイルを作成者以外は...
-
Excel→Accessへ貼り付けがおかしい
-
Accessのことで教えてください...
-
GETPIVOTDATAを使...
-
AccessのDBを理解するコツは?
-
アクセスのコンボボックスのデ...
-
AccessからExcelのデータを消す...
-
AccessのクエリをExc...
-
EXCEL データテーブルの数字を...
-
Access 旧データを新データに入...
-
Accessでの併合のやり方
-
グラフとデータテーブルの順序...
-
線の画像を座標数値化するソフ...
-
エクセル 横棒グラフのデータテ...
-
ACCESSデータを削除してしまい...
-
Accessでオートナンバーの値を...
-
Excel VBA からの Access 呼び...
おすすめ情報