1
我正在使用基本上具有此功能的Access中的对话框。我希望用户从组合框中选择一个表格,然后更改查询以创建必要信息的选择视图。下面是该对话框基于ComboBox值更改From子句
Private Sub cmdOK_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim strSQL As String
Set db = CurrentDb
Set qdf = db.QueryDefs("qryPendingQS")
strSQL = "SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category " & _
"FROM Me.cbotable.Value " & _
"WHERE table3 ='" & Me.cbotable.Value & "';"
qdf.SQL = strSQL
DoCmd.OpenQuery "qryPendingQS"
DoCmd.Close acForm, Me.Name
Set qdf = Nothing
Set db = Nothing
End Sub
一切都很好,大部分的代码,但在声明中的这一部分的问题出现了。
strSQL = "SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category " & _
"FROM table3" & _
"WHERE table3 ='" & Me.cbotable.Value & "';"
这是来自以前的尝试,但我知道你不能改变基于WHERE子句的表。所以我的问题是,我怎样才能改变FROM语句动态基于断什么在组合框中
这是当查询试图执行的SQL代码看起来选择的:
SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category
FROM table3
WHERE table3 ='QS Log';
你的代码是怎么回事?是否有错误讯息? – HansUp
@HansUp当它试图在'DoCmd.OpenQuery'qryPendingQS''执行代码时出现错误''因为您不能通过WHERE语句更改FROM值。 –