我想从Access表导入数据到Excel中。我得到一个语法错误当我运行这条线时出现这个错误:。Select [Time],[Tank],FROM“UnitOneRouting”,WHERE [Date] =“& RpDate & ORDER BY Tank,Time”,cn,adOpenStatic ,adLockOptimistic,adCmdTable 在访问表中有四列(按顺序)日期,时间,坦克,评论。我只想输入两列,时间和坦克,但是按照坦克,时间的顺序;我想根据Excel工作表中给出的日期导入它们。谢谢从Access表导入数据到Excel表
如何重新排列以下部分以打开表格,选择列(基于日期)并导入数据。
随着RS '打开记录 。开 “UnitOneRouting”,CN,ADOPENSTATIC,ADLOCKOPTIMISTIC,adCmdTable ' 过滤器行根据日期 。选择[时间],[坦克]从 “UnitOneRouting”,其中[日期] = “& RpDate & ORDER BY坦克,时间”,CN,ADOPENSTATIC,ADLOCKOPTIMISTIC,adCmdTable rs.Open,TargetRange 尾随着
**代码开始这里**
Sub ADOImportFromAccessTable()
Dim DBFullName As String
Dim TableName As String
Dim TargetRange As Range
Dim RpDate As Range
DBFullName = "U:\Night Sup\Production Report 2003 New Ver 5-28-10_KA.mdb"
TableName = "UnitOneRouting"
Set TargetRange = Range("C5")
Set RpDate = Range("B2").Cells
Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
' open the database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
"U:\Night Sup\Production Report 2003 New Ver 5-28-10_KA.mdb" & ";"
Set rs = New ADODB.Recordset
With rs
' open the recordset
.Open "UnitOneRouting", cn, adOpenStatic, adLockOptimistic, adCmdTable
' filter rows based on date
.Select [Time], [Tank], FROM "UnitOneRouting", WHERE [Date] = " & RpDate & ORDER BY Tank, Time", cn, adOpenStatic, adLockOptimistic, adCmdTable
rs.Open , TargetRange
End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
当我运行该行时,出现错误“FROM子句中的语法错误”。 。打开“SELECT Time,Tank FROM”&TableName&“WHERE [Date] =”&RpDate&“ORDER BY Tank,Time”,cn,adOpenStatic,adLockOptimistic,adCmdTable – Kish 2014-09-25 13:31:54
TableName是一个变量不仅仅是硬编码?像:“SELECT Time,Tank FROM UnitOneRouting WHERE [Date] =”&RpDate&_ “ORDER BY Tank,Time”,cn,adOpenStatic,adLockOptimistic,adCmdTable – 2014-09-25 14:16:55
是的,我可以硬编码它。我试图改变,以前没有给出解决方案。我从上面复制了代码并进行了测试。下面的行给出了一个编译错误:预期:行号或标签或语句或语句结尾 “选择时间,坦克FROM UnitOneRouting WHERE [日期] =” – Kish 2014-09-25 14:42:00