回答編集履歴

1

コードの修正

2018/06/12 07:08

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -8,13 +8,17 @@
8
8
 
9
9
  コマンドボタン「cmdCSVOutput」をクリックしたら、
10
10
 
11
- トグルボタン「tgl1」 が押されているとき、「クエリA」 を出力
11
+ トグルボタン「tgl1」 が押されているとき、「クエリA」 を出力、ファイル名は「クエリA.csv」
12
12
 
13
- トグルボタン「tgl2」 が押されているとき、「クエリB」 を出力
13
+ トグルボタン「tgl2」 が押されているとき、「クエリB」 を出力、ファイル名は「クエリB.csv」
14
14
 
15
- トグルボタン「tgl3」 が押されているとき、「クエリC」 を出力
15
+ トグルボタン「tgl3」 が押されているとき、「クエリC」 を出力、ファイル名は「クエリC.csv」
16
16
 
17
17
  最後に出力されたクエリ名の一覧をメッセージボックスで表示する。
18
+
19
+
20
+
21
+ トグルボタンの標題(Caption)は出力したいクエリ名とします。
18
22
 
19
23
 
20
24
 
@@ -22,29 +26,27 @@
22
26
 
23
27
  Private Sub cmdCSVOutput_Click()
24
28
 
25
- Dim i As Long, sMsg As String
29
+ Dim i As Long, sMsg As String
26
30
 
27
- Dim QNames() As String
28
31
 
29
- '出力したいクエリ名をカンマ区切りで列挙
30
-
31
- QNames = Split("クエリA,クエリB,クエリC", ",")
32
-
33
-
34
32
 
35
33
  For i = 1 To 3
36
34
 
37
- If Me("tgl" & i).Value Then
35
+ With Me("tgl" & i)
38
36
 
39
- Module1.mkmkd (保存先フォルダ作成処理)
37
+ If .Value Then
40
38
 
41
- DoCmd.TransferText acExportDelim, , QNames(i), _
39
+ Module1.mkmkd (保存先フォルダ作成処理)
42
40
 
43
- "C:\test\" & QNames(i - 1) & ".csv"
41
+ DoCmd.TransferText acExportDelim, , .Caption, _
44
42
 
45
- sMsg = sMsg & QNames(i - 1) & vbCrLf
43
+ "C:\test\" & .Caption & ".csv"
46
44
 
45
+ sMsg = sMsg & .Caption & vbCrLf
46
+
47
- End If
47
+ End If
48
+
49
+ End With
48
50
 
49
51
  Next
50
52
 
@@ -63,3 +65,7 @@
63
65
  End Sub
64
66
 
65
67
  ```
68
+
69
+
70
+
71
+ Forループの使い方、Withステートメントの使いのご参考に。