0
如果我在PGAdmin中運行下面的SQL,它工作正常,並根據需要轉換eventdate,但只要我嘗試將此添加到EXCEL VBA中,就會收到意外的符號錯誤(VBA中的SQL代碼顯示意外的符號錯誤
誰能告訴我爲什麼這個錯誤發生?
Const sqlconnection = "Provider=oledb;"
Dim conn As New Connection
conn.ConnectionString = sqlconnection
conn.Open
Dim rs As Recordset
Sheets("Sheet1").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
Dim DATA As String
DATA = "SELECT DISTINCT hist.master_id, hist.eventdate, to_date(case " _
& "when char_length(hist.eventdate) = 8 then hist.eventdate " _
& "when char_length(hist.eventdate) = 6 then concat(hist.eventdate,'01') " _
& "when char_length(hist.eventdate) = 4 then concat(hist.eventdate,'0101') " _
& "when char_length(hist.eventdate) = 0 then concat(hist.eventdate,'18000101') " _
& "else '18000101' end,'YYYYMMDD') as eventdate2, hist.entity_ty, hist.read_code, hist.read_term, hist.priority, hist.enddate, " _
& "char_length(hist.enddate) enddate_length " _
& "FROM hist INNER JOIN person p ON hist.master_id=p.entity_id " _
& "WHERE char_length(hist.enddate) = 0 and to_date(case " _
& "when char_length(hist.eventdate) = 8 then hist.eventdate " _
& "when char_length(hist.eventdate) = 6 then concat(hist.eventdate,'01') " _
& "when char_length(hist.eventdate) = 4 then concat(hist.eventdate,'0101') " _
& "when char_length(hist.eventdate) = 0 then concat(hist.eventdate,'18000101') " _
& "else '18000101' end,'YYYYMMDD') < '2014-01-01' " _
& "ORDER BY hist.master_id "
Set rs = conn.Execute(DATA)
With ActiveSheet.QueryTables.Add(Connection:=rs, Destination:=Range("A1"))
.Refresh
End With
rs.Close
「#」分隔符是Microsoft Access的一個特性。 –