回答編集履歴

2

コード修正

2020/06/11 03:18

投稿

hatena19
hatena19

スコア34107

test CHANGED
@@ -20,8 +20,6 @@
20
20
 
21
21
  Set ltb = db.TableDefs(ltbnm)
22
22
 
23
- Debug.Print ltb.Connect
24
-
25
23
  ltb.Connect = ";DATABASE=" & fpath
26
24
 
27
25
  ltb.RefreshLink

1

修正

2020/06/11 03:18

投稿

hatena19
hatena19

スコア34107

test CHANGED
@@ -1,9 +1,37 @@
1
- `ltb.Connect = ";DATABASE=" & fpath & ";TABLE=" & ltbnm`
1
+ 下記で動作することを確認しました。
2
2
 
3
3
 
4
4
 
5
+ ```vba
6
+
7
+ If fpath <> "" Then
8
+
9
+ Dim db As DAO.Database
10
+
11
+ Set db = CurrentDb
12
+
13
+
14
+
15
+ Dim ltb As DAO.TableDef
16
+
17
+ Dim ltbnm As String
18
+
19
+ ltbnm = "hoge"
20
+
21
+ Set ltb = db.TableDefs(ltbnm)
22
+
23
+ Debug.Print ltb.Connect
24
+
25
+ ltb.Connect = ";DATABASE=" & fpath
26
+
5
- の部分は、下記でいいのでは。
27
+ ltb.RefreshLink
28
+
29
+ MsgBox fpath & "にリンク先を変更しました"
30
+
31
+ End If
32
+
33
+ ```
6
34
 
7
35
 
8
36
 
9
- `ltb.Connect = ";DATABASE=" & fpath`
37
+ CurrentDb をいったん変数に格納してそれを使用する必要があるようです。