2015-09-07 90 views
2

我真的很抱歉要問,我敢肯定,這是非常簡單的回答,但每當我試圖運行下面的Excel宏,我得到了標題中所述的錯誤消息:附近有語法錯誤AvayaSBCCRT「

Sub CallsMacro() 

Dim ConData As ADODB.Connection 
Dim rstData As ADODB.Recordset 
Dim wsSheet As Worksheet 
Dim strServer As String 
Dim strDatabase As String 
Dim strFrom As String 
Dim strto As String 
Dim intCount As Integer 

Set wsSheet = ActiveWorkbook.Worksheets("Refresh") 
With wsSheet 
strServer = "TNS-CCR-02" 
strDatabase = "AvayaSBCCRT" 
strFrom = .Range("C$2") 
strto = .Range("C$3") 
End With 

Set ConData = New ADODB.Connection 
With ConData 
.ConnectionString = "Provider=SQLOLEDB;Data Source=" & strServer & ";" & "Initial Catalog=" & ";" & "persist security info=true;" & "User Id=dashboard; Password=D4$hboard;" 
.CommandTimeout = 1800 
.Open 
End With 

''Create the recordset from the SQL query 
Set rstData = New ADODB.Recordset 

Set wsSheet = ActiveWorkbook.Worksheets("Calls") 

With rstData 
.ActiveConnection = ConData 
.Source = "SELECT DISTINCT CAST(c.createdate AS date) as [Date]," & _ 
"CASE WHEN c.[CategoryID] = 1 then 'Outbound' WHEN c.[CategoryID] = 2 then   'Inbound' Else 'Internal' end as [Direction], c.cli as [Number], c.ddi, 'CallCentre' as [Queue], '' as [Queue Time], u.username as [Agent], cast((c.DestroyDate - c.CreateDate) as TIME) as [Duration], 'Connected' as [Status], c.callID as [Reference]" & _ 
"FROM [AvayaSBCCRT].[dbo].[tblAgentActivity] as a" & _ 
"JOIN [AvayaSBCCRT].[dbo].[tblCallList] as c on c.calllistid = a.calllistid" & _ 
"JOIN [AvayaSBCCRT].[dbo].[tblUsers] as u on u.userid = a.AgentID" & _ 
"WHERE c.createdate between '" & strFrom & "' and '" & strto & "'" & _ 
"AND a.[ActivityID] = 3 " 
.CursorType = adOpenForwardOnly 
.Open 
End With 

wsSheet.Activate 

Dim Lastrow As Long 

Lastrow = Range("A" & Rows.Count).end(xlUp).Row 

Range("A2:J" & Lastrow).ClearContents 

If rs.EOF = False Then wsSheet.Cells(2, 1).CopyFromRecordset rsData 


rs.Close 
Set rs = Nothing 
Set cmd = Nothing 


con.Close 
Set con = Nothing 


End Sub 

我看上去很高,也找不到原因。任何人有任何想法?

+0

連接到連接字符串中的「[AvayaSBCCRT]」數據庫 – lad2025

+0

感謝您的回覆。不幸的是,我仍然遇到同樣的錯誤。我認爲這可能與查詢有關,儘管查詢在SQL Server中運行良好。 – Jamie

回答

0

你缺少空格從行的末尾。您的SQL包含例如:

[tblAgentActivity] as aJOIN [AvayaSBCCRT].[dbo].[tblCallList] 
+0

哦,當然。現在正在工作。非常感謝。 – Jamie