質問編集履歴
1
誤字の修正等
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
**困っていること:** あるシステムにデータを取り込むためのCSVファイルを作成しようとしています。そのシステムの取り込みファイルは276列ありますが、accessではテーブルに255列までしか作成できないため、データ取込み用CSVファイルが作成できません。
|
|
4
4
|
|
|
5
5
|
**やったこと:** とりあえず作成できる列まで1つのテーブルで作成し、残りの列はVBAでCSVに直接書き込みに行くような形でヘッダだけは276列まで作ることができました。
|
|
6
|
-
検索していろんな方のコードを参考に作ったものなので、つぎはぎ感がすごいですが、何とかできました。
|
|
7
|
-
付け足した20列ほどは全て空のセルなので、何も値は入らないですが、入力データフォーマットが取り込む行すべてに指定の276列ないと取り込めないため、ヘッダだけ作成してもでは取り込むことができません。(苦労してヘッダだけ作った意味はなかったみたいです。)
|
|
8
6
|
|
|
9
7
|
作ったものは以下です。やりたいことがご理解いただきやすいかと思い念のために掲載しておきます。
|
|
10
8
|
お知恵を拝借できますと幸いです。どうぞよろしくお願い致します。
|
|
@@ -14,21 +12,21 @@
|
|
|
14
12
|
|
|
15
13
|
DoCmd.SetWarnings False
|
|
16
14
|
|
|
17
|
-
DoCmd.OpenQuery "
|
|
15
|
+
DoCmd.OpenQuery "データ追加"
|
|
18
16
|
|
|
19
17
|
|
|
20
18
|
DoCmd.TransferText _
|
|
21
19
|
TransferType:=acExportDelim, _
|
|
22
|
-
TableName:="
|
|
20
|
+
TableName:="T_T", _
|
|
23
|
-
filename:="V:\フォルダ\
|
|
21
|
+
filename:="V:\フォルダ\T" & ".csv", _
|
|
24
22
|
HasFieldNames:=True
|
|
25
23
|
|
|
26
24
|
|
|
27
25
|
' Private Sub ExTextWrite()
|
|
28
26
|
' Dim fno As Integer
|
|
29
27
|
' fno = FreeFile
|
|
30
|
-
' TableName = "
|
|
28
|
+
' TableName = "T_T"
|
|
31
|
-
' Open "V:\フォルダ\
|
|
29
|
+
' Open "V:\フォルダ\T.csv" For Append As fno
|
|
32
30
|
' Print #fno, TableName
|
|
33
31
|
' Close fno
|
|
34
32
|
'End Sub
|
|
@@ -42,7 +40,7 @@
|
|
|
42
40
|
|
|
43
41
|
|
|
44
42
|
|
|
45
|
-
filename = "V:\フォルダ\
|
|
43
|
+
filename = "V:\フォルダ\T.csv"
|
|
46
44
|
|
|
47
45
|
Set xlsApp = CreateObject("Excel.Application")
|
|
48
46
|
|
|
@@ -81,7 +79,7 @@
|
|
|
81
79
|
Dim strNewContents As String
|
|
82
80
|
Dim strPath As String
|
|
83
81
|
|
|
84
|
-
strPath = "V:\フォルダ\
|
|
82
|
+
strPath = "V:\フォルダ\T.csv"
|
|
85
83
|
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
|
86
84
|
Set objFile = objFSO.OpenTextFile(strPath, ForReading)
|
|
87
85
|
|
|
@@ -103,7 +101,7 @@
|
|
|
103
101
|
|
|
104
102
|
|
|
105
103
|
|
|
106
|
-
DoCmd.RunSQL "DELETE * from
|
|
104
|
+
DoCmd.RunSQL "DELETE * from T_T"
|
|
107
105
|
|
|
108
106
|
MsgBox "作成完了", vbOKOnly
|
|
109
107
|
|