teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

バージョン情報の追記

2019/05/29 08:42

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

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

2

エラー部分の変更

2019/05/29 08:42

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

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

2019/05/29 08:37

投稿

JipvOvxMCyFrRX2
JipvOvxMCyFrRX2

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- 実行時エラー'-2147217900(80040e14)': オートメーションエラーです。というエラーが出てしまいます
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