回答編集履歴
1
コードの修正
answer
CHANGED
@@ -3,25 +3,26 @@
|
|
3
3
|
トグルボタン名は、繰り返し処理しやすいように規則的なものに変更してます。
|
4
4
|
|
5
5
|
コマンドボタン「cmdCSVOutput」をクリックしたら、
|
6
|
-
トグルボタン「tgl1」 が押されているとき、「クエリA」 を出力
|
6
|
+
トグルボタン「tgl1」 が押されているとき、「クエリA」 を出力、ファイル名は「クエリA.csv」
|
7
|
-
トグルボタン「tgl2」 が押されているとき、「クエリB」 を出力
|
7
|
+
トグルボタン「tgl2」 が押されているとき、「クエリB」 を出力、ファイル名は「クエリB.csv」
|
8
|
-
トグルボタン「tgl3」 が押されているとき、「クエリC」 を出力
|
8
|
+
トグルボタン「tgl3」 が押されているとき、「クエリC」 を出力、ファイル名は「クエリC.csv」
|
9
9
|
最後に出力されたクエリ名の一覧をメッセージボックスで表示する。
|
10
10
|
|
11
|
+
トグルボタンの標題(Caption)は出力したいクエリ名とします。
|
12
|
+
|
11
13
|
```vba
|
12
14
|
Private Sub cmdCSVOutput_Click()
|
13
|
-
Dim i As Long, sMsg As String
|
15
|
+
Dim i As Long, sMsg As String
|
14
|
-
|
16
|
+
|
15
|
-
'出力したいクエリ名をカンマ区切りで列挙
|
16
|
-
QNames = Split("クエリA,クエリB,クエリC", ",")
|
17
|
-
|
18
17
|
For i = 1 To 3
|
19
|
-
|
18
|
+
With Me("tgl" & i)
|
19
|
+
If .Value Then
|
20
|
-
|
20
|
+
Module1.mkmkd (保存先フォルダ作成処理)
|
21
|
-
|
21
|
+
DoCmd.TransferText acExportDelim, , .Caption, _
|
22
|
-
|
22
|
+
"C:\test\" & .Caption & ".csv"
|
23
|
-
|
23
|
+
sMsg = sMsg & .Caption & vbCrLf
|
24
|
-
|
24
|
+
End If
|
25
|
+
End With
|
25
26
|
Next
|
26
27
|
|
27
28
|
If sMsg = "" Then
|
@@ -30,4 +31,6 @@
|
|
30
31
|
MsgBox sMsg & " をCSVで出力しました。"
|
31
32
|
End If
|
32
33
|
End Sub
|
33
|
-
```
|
34
|
+
```
|
35
|
+
|
36
|
+
Forループの使い方、Withステートメントの使いのご参考に。
|