質問編集履歴

3

バージョン情報の追記

2019/05/29 08:42

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ここの部分でOPENエラーが出てしまいます。
4
4
 
5
- SQLのバージョンを14にしてしまったことが原因でしょうか。
5
+ SQLのバージョンを2008から2014にしてしまったことが原因でしょうか。
6
6
 
7
7
  ご教示の程よろしくお願いいたします。
8
8
 

2

エラー部分の変更

2019/05/29 08:42

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

test CHANGED
@@ -1 +1 @@
1
- 削除しました。
1
+ エクセル マクロ SQL文 OPENエラー
test CHANGED
@@ -1 +1,59 @@
1
+ 「objADO_CON.Open strADO」
2
+
3
+ ここの部分でOPENエラーが出てしまいます。
4
+
5
+ SQLのバージョンを14にしてしまったことが原因でしょうか。
6
+
7
+ ご教示の程よろしくお願いいたします。
8
+
9
+
10
+
11
+
12
+
13
+ Dim objADO_CON As New ADODB.Connection
14
+
15
+ Dim objADO_RS As New ADODB.Recordset
16
+
17
+ Dim strADO As String
18
+
19
+ Dim strsql As String
20
+
21
+ Dim strwork, fc As String
22
+
23
+
24
+
25
+ 'ADO接続文字列を取得
26
+
27
+ strADO = "Provider=SQLOLEDB.1; " & _
28
+
29
+ "Persist Security Info=True;User ID=sa; " & _
30
+
31
+ "Initial Catalog=ORDERETTE_MSDE; " & _
32
+
33
+ "Data Source=(local)\SQLEXPRESS; " & _
34
+
35
+ "Use Procedure for Prepare=1; " & _
36
+
37
+ "Auto Translate=True;Packet Size=4096; " & _
38
+
39
+ "Use Encryption for Data=False; " & _
40
+
41
+ "Tag with column collation when possible=False"
42
+
43
+
44
+
45
+ 'DBを開く
46
+
47
+ objADO_CON.Open strADO
48
+
49
+
50
+
51
+ (・・・続く)
52
+
53
+
54
+
55
+
56
+
57
+
58
+
1
- 削除しまし
59
+ 削除してしい申訳御座いません

1

2019/05/29 08:37

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

test CHANGED
@@ -1 +1 @@
1
- 実行時エラー'-2147217900(80040e14)': オートメーションエラーです。というエラーが出てしまいます
1
+ 削除しました
test CHANGED
@@ -1,205 +1 @@
1
- 実行時エラー'-2147217900(80040e14)':
2
-
3
- オートメーションエラーです。
4
-
5
-
6
-
7
- というエラーが出てしまいます。
8
-
9
-
10
-
11
- 下記構文の「副問合せ」の部分を追加したら出てきました。
12
-
13
- 初心者になり
1
+ 削除しした
14
-
15
- 恐れ入りますがご教示の程よろしくお願いいたします。
16
-
17
-
18
-
19
-
20
-
21
- Private Sub Workbook_Open()
22
-
23
-
24
-
25
- Dim objADO_CON As New ADODB.Connection
26
-
27
- Dim objADO_RS As New ADODB.Recordset
28
-
29
- Dim strADO As String
30
-
31
- Dim strsql, fc As String
32
-
33
-
34
-
35
- Set ws1 = Sheets("DATA")
36
-
37
- Set ws2 = Sheets("集計")
38
-
39
-
40
-
41
- '日付範囲
42
-
43
- Month_ST = Format(ws1.Range("Q2").Value, "yyyy-mm-dd")
44
-
45
- Month_ED = Format(Date, "yyyy-mm-dd")
46
-
47
-
48
-
49
- '--- ADO接続文字列を取得 ---
50
-
51
- strADO = "Provider=SQLOLEDB.1; " & _
52
-
53
- "Persist Security Info=True;User ID=sa; " & _
54
-
55
- "Initial Catalog=ORDERETTE_MSDE; " & _
56
-
57
- "Data Source=(local)\SQLEXPRESS; " & _
58
-
59
- "Use Procedure for Prepare=1; " & _
60
-
61
- "Auto Translate=True;Packet Size=4096; " & _
62
-
63
- "Use Encryption for Data=False; " & _
64
-
65
- "Tag with column collation when possible=False"
66
-
67
-
68
-
69
-
70
-
71
- 'DBがない場合は、一番下のエラーに飛ぶ
72
-
73
- 'On Error GoTo Err_DBCon
74
-
75
-
76
-
77
- 'DBを開く
78
-
79
- objADO_CON.Open strADO
80
-
81
-
82
-
83
- 'タイムアウトを発生させないように設定
84
-
85
- objADO_CON.CommandTimeout = 0
86
-
87
-
88
-
89
- 'SQL作成
90
-
91
- strsql = ""
92
-
93
- strsql = "SELECT "
94
-
95
- strsql = strsql & "dbo.注文_商品_DT_精算済.KeyID_EDA, "
96
-
97
- strsql = strsql & "dbo.注文_商品_DT_精算済.トレイ番号, "
98
-
99
- strsql = strsql & "dbo.注文_商品_DT_精算済.商品コード, "
100
-
101
- strsql = strsql & "dbo.商品_MT.商品名, "
102
-
103
- strsql = strsql & "dbo.注文_商品_DT_精算済.コンディメント商品コード, "
104
-
105
- strsql = strsql & "商品_MT_1.商品名 AS 子商品, "
106
-
107
- strsql = strsql & "dbo.注文_商品_DT_精算済.数量, "
108
-
109
- strsql = strsql & "dbo.注文_商品_DT_精算済.単価, 商品_MT_1.原価, "
110
-
111
- strsql = strsql & "dbo.科目_MT.科目コード, "
112
-
113
- strsql = strsql & "dbo.科目_MT.科目名, "
114
-
115
- strsql = strsql & "dbo.部門_MT.部門コード, "
116
-
117
- strsql = strsql & "dbo.部門_MT.部門名 "
118
-
119
-
120
-
121
- strsql = strsql & "FROM "
122
-
123
- strsql = strsql & "dbo.注文_商品_DT_精算済 INNER JOIN "
124
-
125
- strsql = strsql & "dbo.商品_MT ON "
126
-
127
- strsql = strsql & "dbo.注文_商品_DT_精算済.商品コード = dbo.商品_MT.商品コード INNER JOIN "
128
-
129
- strsql = strsql & "dbo.商品_MT 商品_MT_1 ON "
130
-
131
- strsql = strsql & "dbo.注文_商品_DT_精算済.コンディメント商品コード = 商品_MT_1.商品コード "
132
-
133
- strsql = strsql & "INNER JOIN "
134
-
135
- strsql = strsql & "dbo.部門_MT ON "
136
-
137
- strsql = strsql & "商品_MT_1.部門コード = dbo.部門_MT.部門コード INNER JOIN "
138
-
139
- strsql = strsql & "dbo.科目_MT ON dbo.部門_MT.科目コード = dbo.科目_MT.科目コード "
140
-
141
-
142
-
143
- strsql = strsql & "WHERE (精算日 BETWEEN CONVERT(DATETIME, '" & Month_ST & "', 102) and CONVERT(DATETIME, '" & Month_ED & "', 102) ) "
144
-
145
- '+++++++副問合せ
146
-
147
- '精算_DTから、集計するKeyIDを抽出
148
-
149
- strsql = strsql & "(LEFT(dbo.注文_商品_DT_精算済.KeyID_EDA, 10) in "
150
-
151
-
152
-
153
- strsql = strsql & "(SELECT "
154
-
155
- strsql = strsql & "dbo.精算_DT.KeyID "
156
-
157
-
158
-
159
- strsql = strsql & "FROM "
160
-
161
- strsql = strsql & "dbo.精算_DT "
162
-
163
-
164
-
165
- strsql = strsql & "WHERE "
166
-
167
- strsql = strsql & "(dbo.精算_DT.登録日時 BETWEEN CONVERT(DATETIME, '" & Month_ST & "', 102) AND CONVERT(DATETIME, '" & Month_ED & "', 102)) "
168
-
169
- strsql = strsql & "AND (dbo.精算_DT.トレーニング = 0) "
170
-
171
- strsql = strsql & "AND (dbo.精算_DT.レジマイナスFLG = 0) "
172
-
173
- strsql = strsql & "AND (dbo.精算_DT.被レジマイナスFLG = 0) "
174
-
175
- strsql = strsql & "AND (dbo.精算_DT.売上FLG = 1))) "
176
-
177
-
178
-
179
-
180
-
181
- '+++++++
182
-
183
-
184
-
185
-
186
-
187
- objADO_RS.Source = strsql
188
-
189
- Set objADO_RS.ActiveConnection = objADO_CON
190
-
191
-
192
-
193
- objADO_RS.Open , , adOpenForwardOnly
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
- End Sub