回答編集履歴

4

説明追記

2020/08/27 01:48

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -83,3 +83,9 @@
83
83
  CurrentDb.Execute sSQL
84
84
 
85
85
  ```
86
+
87
+
88
+
89
+ ---
90
+
91
+ よく考えたら、saziさんの回答のAccessアプリケーションの OpenCurrentDatabase でデータベースを開いてそこでDocmdするのが一番素直ですね。寝起きでぼけてました。

3

コード追記

2020/08/27 01:48

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -47,3 +47,39 @@
47
47
  DoCmd.DeleteObject acTable, "T資格管理"
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ おまけ
54
+
55
+ ---
56
+
57
+ **リンクテーブルを使わずにやる方法**
58
+
59
+
60
+
61
+ SQLのIN句で外部データベースに接続して、SELECT ... INTO文で出力
62
+
63
+
64
+
65
+ ```vba
66
+
67
+ Dim folderPath As String
68
+
69
+ folderPath = "C:\Users\John\Desktop\資格管理DB\712\FE"
70
+
71
+ Dim textfileName As String
72
+
73
+ textfileName = "b#csv" '. は # に変更しておく
74
+
75
+
76
+
77
+ Dim sSQL As String
78
+
79
+ sSQL = "SELECT T資格管理.* INTO [" & textfileName & "] IN '' 'Text;DATABASE=" & folderPath & ";HDR=YES;' " & _
80
+
81
+ "FROM T資格管理 IN '' [MS Access; DATABASE=" & ConPath & ";PWD=" & ConPass & ";];"
82
+
83
+ CurrentDb.Execute sSQL
84
+
85
+ ```

2

コード修正

2020/08/26 21:44

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -44,6 +44,6 @@
44
44
 
45
45
  DoCmd.TransferText acExportDelim, , "T資格管理", path, True
46
46
 
47
- DoCmd.DeleteObject acTable, "outテーブル1"
47
+ DoCmd.DeleteObject acTable, "T資格管理"
48
48
 
49
49
  ```

1

説明の改善

2020/08/26 21:03

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- DoCmd.TransferText の第3引数(TableName)はテーブル名またはクエリ名文字列指定します。
9
+ DoCmd.TransferText の第3引数(TableName)は**テーブル名またはクエリ名文字列として**指定します。
10
10
 
11
11
 
12
12