Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在Excel VBA中执行SQL Server脚本时发生自动错误_Sql Server_Vba_Excel_Execute - Fatal编程技术网

Sql server 在Excel VBA中执行SQL Server脚本时发生自动错误

Sql server 在Excel VBA中执行SQL Server脚本时发生自动错误,sql-server,vba,excel,execute,Sql Server,Vba,Excel,Execute,我正在EXCEL VBA中打开SQL Server连接,并在objMyCmd.Execute行上使用SQL脚本时收到以下错误消息: 运行时错误'-2147217900 80040e14'自动错误 我已经回顾了其他SO帖子,它们似乎引用了连接字符串本身的问题,但我不认为这是问题所在,因为在删除SQL脚本的其余部分时,我能够提取列出的前几个变量 我试图查看SQL代码,以查看是否使用了不正确的格式,或者语言编写不正确,并且无法确定问题所在。我希望通过一些问答,我们可能会注意到我在如何写这篇文章时遗漏了

我正在EXCEL VBA中打开SQL Server连接,并在objMyCmd.Execute行上使用SQL脚本时收到以下错误消息:

运行时错误'-2147217900 80040e14'自动错误

我已经回顾了其他SO帖子,它们似乎引用了连接字符串本身的问题,但我不认为这是问题所在,因为在删除SQL脚本的其余部分时,我能够提取列出的前几个变量

我试图查看SQL代码,以查看是否使用了不正确的格式,或者语言编写不正确,并且无法确定问题所在。我希望通过一些问答,我们可能会注意到我在如何写这篇文章时遗漏了什么?请让我知道,如果有其他信息,我可以提供,下面是代码的错误点

Sub SQL_GetAgentChart()
Dim dtDate As Date
Dim myTable As ListObject

Dim DataServer As String
Dim Database As String
Dim constring As String

DataServer = "GLSSQLMADP2"
Database = "PERF_MGMT_BWRSRV_PROD"
constring = "Driver={SQL Server};Server=" & DataServer & "; Database=" & Database & "; Trusted_Connection=yes"

Dim AVStartDate As Date
Dim AVEndDate As Date
Dim RepID As Long

'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
Set myTable = Worksheets("Witness").ListObjects("tblWitness")

AVStartDate = DateValue("Mar 01, 2016")
AVEndDate = DateValue("Mar 31, 2016")
RepID = 2040

'Open Connection'
objMyConn.ConnectionString = constring
objMyConn.Open

'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = " " & _
"SELECT PERSN_XTRNL_ID_NR, SOURCE, LOGGINGTS, DD7, CUREREASON, CUREDATE, LNSTATUS " & _
"FROM TTB " & _
"WITH INCALL AS (SELECT T.CUREREASON, CUREVALUE " & _
"FROM TTB T " & _
"JOIN PERSONNEL P ON T.PERSONNELID = P.PERSONNELID " & _
"LEFT JOIN CURETRANSLATE C ON T.CUREREASON = C.CUREREASON AND T.LNSTATUS = C.STATUS " & _
"WHERE T.PERSONNELID = " & RepID & " " & _
"AND LOGGINGTS > '" & AVStartDate & "' " & _
"AND LOGGINGTS < '" & AVEndDate + 1 & "' " & _
"AND INCOMING = 1 " & _
"AND DD7 > 0), OUTCALL AS (SELECT T.CUREREASON, CUREVALUE " & _
"FROM TTB T " & _
"JOIN AVAYA A ON T.UID = A.TTBUID " & _
"LEFT JOIN CURETRANSLATE C ON T.CUREREASON = C.CUREREASON AND T.LNSTATUS = C.STATUS " & _
"WHERE PERSONNELID = " & RepID & " " & _
"AND LOGGINGTS > '" & AVStartDate & "' " & _
"AND LOGGINGTS < '" & AVEndDate + 1 & "' " & _
"AND INCOMING = 0 " & _
"AND A.AVAYAGROUP IN ('15', '1A', '1B', '1C', '1D', '1E', '1F', '1G', '1H') " & _
"AND DD7 > 0) "

    objMyCmd.CommandType = adCmdText
    objMyCmd.Execute

哪一行出现错误?请在“objMyCmd.Execute”上设置断点。执行“objMyCmd.CommandText”的“Debug.Print”。复制该语句并直接在db服务器上执行;看看它是否按预期执行。