質問編集履歴
3
バージョン情報の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
「objADO_CON.Open strADO」
|
2
2
|
ここの部分でOPENエラーが出てしまいます。
|
3
|
-
SQLのバージョンを
|
3
|
+
SQLのバージョンを2008から2014にしてしまったことが原因でしょうか。
|
4
4
|
ご教示の程よろしくお願いいたします。
|
5
5
|
|
6
6
|
|
2
エラー部分の変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
エクセル マクロ SQL文 OPENエラー
|
body
CHANGED
@@ -1,1 +1,30 @@
|
|
1
|
+
「objADO_CON.Open strADO」
|
2
|
+
ここの部分でOPENエラーが出てしまいます。
|
3
|
+
SQLのバージョンを14にしてしまったことが原因でしょうか。
|
4
|
+
ご教示の程よろしくお願いいたします。
|
5
|
+
|
6
|
+
|
7
|
+
Dim objADO_CON As New ADODB.Connection
|
8
|
+
Dim objADO_RS As New ADODB.Recordset
|
9
|
+
Dim strADO As String
|
10
|
+
Dim strsql As String
|
11
|
+
Dim strwork, fc As String
|
12
|
+
|
13
|
+
'ADO接続文字列を取得
|
14
|
+
strADO = "Provider=SQLOLEDB.1; " & _
|
15
|
+
"Persist Security Info=True;User ID=sa; " & _
|
16
|
+
"Initial Catalog=ORDERETTE_MSDE; " & _
|
17
|
+
"Data Source=(local)\SQLEXPRESS; " & _
|
18
|
+
"Use Procedure for Prepare=1; " & _
|
19
|
+
"Auto Translate=True;Packet Size=4096; " & _
|
20
|
+
"Use Encryption for Data=False; " & _
|
21
|
+
"Tag with column collation when possible=False"
|
22
|
+
|
23
|
+
'DBを開く
|
24
|
+
objADO_CON.Open strADO
|
25
|
+
|
26
|
+
(・・・続く)
|
27
|
+
|
28
|
+
|
29
|
+
|
1
|
-
削除しまし
|
30
|
+
削除してしまい申し訳御座いません。
|
1
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
削除しました。
|
body
CHANGED
@@ -1,103 +1,1 @@
|
|
1
|
-
実行時エラー'-2147217900(80040e14)':
|
2
|
-
オートメーションエラーです。
|
3
|
-
|
4
|
-
というエラーが出てしまいます。
|
5
|
-
|
6
|
-
下記構文の「副問合せ」の部分を追加したら出てきました。
|
7
|
-
|
1
|
+
削除しました。
|
8
|
-
恐れ入りますがご教示の程よろしくお願いいたします。
|
9
|
-
|
10
|
-
|
11
|
-
Private Sub Workbook_Open()
|
12
|
-
|
13
|
-
Dim objADO_CON As New ADODB.Connection
|
14
|
-
Dim objADO_RS As New ADODB.Recordset
|
15
|
-
Dim strADO As String
|
16
|
-
Dim strsql, fc As String
|
17
|
-
|
18
|
-
Set ws1 = Sheets("DATA")
|
19
|
-
Set ws2 = Sheets("集計")
|
20
|
-
|
21
|
-
'日付範囲
|
22
|
-
Month_ST = Format(ws1.Range("Q2").Value, "yyyy-mm-dd")
|
23
|
-
Month_ED = Format(Date, "yyyy-mm-dd")
|
24
|
-
|
25
|
-
'--- ADO接続文字列を取得 ---
|
26
|
-
strADO = "Provider=SQLOLEDB.1; " & _
|
27
|
-
"Persist Security Info=True;User ID=sa; " & _
|
28
|
-
"Initial Catalog=ORDERETTE_MSDE; " & _
|
29
|
-
"Data Source=(local)\SQLEXPRESS; " & _
|
30
|
-
"Use Procedure for Prepare=1; " & _
|
31
|
-
"Auto Translate=True;Packet Size=4096; " & _
|
32
|
-
"Use Encryption for Data=False; " & _
|
33
|
-
"Tag with column collation when possible=False"
|
34
|
-
|
35
|
-
|
36
|
-
'DBがない場合は、一番下のエラーに飛ぶ
|
37
|
-
'On Error GoTo Err_DBCon
|
38
|
-
|
39
|
-
'DBを開く
|
40
|
-
objADO_CON.Open strADO
|
41
|
-
|
42
|
-
'タイムアウトを発生させないように設定
|
43
|
-
objADO_CON.CommandTimeout = 0
|
44
|
-
|
45
|
-
'SQL作成
|
46
|
-
strsql = ""
|
47
|
-
strsql = "SELECT "
|
48
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.KeyID_EDA, "
|
49
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.トレイ番号, "
|
50
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.商品コード, "
|
51
|
-
strsql = strsql & "dbo.商品_MT.商品名, "
|
52
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.コンディメント商品コード, "
|
53
|
-
strsql = strsql & "商品_MT_1.商品名 AS 子商品, "
|
54
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.数量, "
|
55
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.単価, 商品_MT_1.原価, "
|
56
|
-
strsql = strsql & "dbo.科目_MT.科目コード, "
|
57
|
-
strsql = strsql & "dbo.科目_MT.科目名, "
|
58
|
-
strsql = strsql & "dbo.部門_MT.部門コード, "
|
59
|
-
strsql = strsql & "dbo.部門_MT.部門名 "
|
60
|
-
|
61
|
-
strsql = strsql & "FROM "
|
62
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済 INNER JOIN "
|
63
|
-
strsql = strsql & "dbo.商品_MT ON "
|
64
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.商品コード = dbo.商品_MT.商品コード INNER JOIN "
|
65
|
-
strsql = strsql & "dbo.商品_MT 商品_MT_1 ON "
|
66
|
-
strsql = strsql & "dbo.注文_商品_DT_精算済.コンディメント商品コード = 商品_MT_1.商品コード "
|
67
|
-
strsql = strsql & "INNER JOIN "
|
68
|
-
strsql = strsql & "dbo.部門_MT ON "
|
69
|
-
strsql = strsql & "商品_MT_1.部門コード = dbo.部門_MT.部門コード INNER JOIN "
|
70
|
-
strsql = strsql & "dbo.科目_MT ON dbo.部門_MT.科目コード = dbo.科目_MT.科目コード "
|
71
|
-
|
72
|
-
strsql = strsql & "WHERE (精算日 BETWEEN CONVERT(DATETIME, '" & Month_ST & "', 102) and CONVERT(DATETIME, '" & Month_ED & "', 102) ) "
|
73
|
-
'+++++++副問合せ
|
74
|
-
'精算_DTから、集計するKeyIDを抽出
|
75
|
-
strsql = strsql & "(LEFT(dbo.注文_商品_DT_精算済.KeyID_EDA, 10) in "
|
76
|
-
|
77
|
-
strsql = strsql & "(SELECT "
|
78
|
-
strsql = strsql & "dbo.精算_DT.KeyID "
|
79
|
-
|
80
|
-
strsql = strsql & "FROM "
|
81
|
-
strsql = strsql & "dbo.精算_DT "
|
82
|
-
|
83
|
-
strsql = strsql & "WHERE "
|
84
|
-
strsql = strsql & "(dbo.精算_DT.登録日時 BETWEEN CONVERT(DATETIME, '" & Month_ST & "', 102) AND CONVERT(DATETIME, '" & Month_ED & "', 102)) "
|
85
|
-
strsql = strsql & "AND (dbo.精算_DT.トレーニング = 0) "
|
86
|
-
strsql = strsql & "AND (dbo.精算_DT.レジマイナスFLG = 0) "
|
87
|
-
strsql = strsql & "AND (dbo.精算_DT.被レジマイナスFLG = 0) "
|
88
|
-
strsql = strsql & "AND (dbo.精算_DT.売上FLG = 1))) "
|
89
|
-
|
90
|
-
|
91
|
-
'+++++++
|
92
|
-
|
93
|
-
|
94
|
-
objADO_RS.Source = strsql
|
95
|
-
Set objADO_RS.ActiveConnection = objADO_CON
|
96
|
-
|
97
|
-
objADO_RS.Open , , adOpenForwardOnly
|
98
|
-
|
99
|
-
|
100
|
-
・
|
101
|
-
・
|
102
|
-
・
|
103
|
-
End Sub
|