Office中国论坛/Access中国论坛

标题: 在ACCESS代码中写查询语句不能运行 [打印本页]

作者: ruizhang    时间: 2012-6-28 13:42
标题: 在ACCESS代码中写查询语句不能运行
我在ACCESS的代码中写了一个简单的查询语句,如下:sql=“select * from test ”  DoCmd.RunSQL sql
不能运行。
然后我写sql=“select * into test2 from test ”  DoCmd.RunSQL sql 就能运行成功。
为什么查询语句不能运行呢?
本人做了一个窗体,想在代码中写查询语句,在查询语句中有日期变量,想直接从窗体的单元格中直接读取变量。
但是代码又不能运行查询语句,请大家支招。谢谢!
作者: roych    时间: 2012-6-29 15:45
RunSQL只针对操作查询。应该新建一个查询,然后通过指定SQL来修改:
  1. Function GetSQL()
  2. Dim Swhr As String, ssql As String
  3. Swhr = "True"
  4. '条件1
  5. If Not IsNull(Me.Emp_ID) Then
  6.     Swhr = Swhr & " And Emp_ID like '*" & Me.Emp_ID & "*'"
  7. End If
  8. '条件2
  9. '可增加条件3、条件4……条件N。
  10. If Not IsNull(Me.C_Name) Then
  11.     Swhr = Swhr & " And C_Name like '*" & Me.C_Name & "*'"
  12. End If
  13. '日期条件
  14. ssql = Swhr & " And ResignDate Between #" & Me.SDate & "# And #" & Me.EDate & "#"
  15. '获取SQL语句。
  16. GetSQL = "select * from Tbl_Employ_Resign Where " & Right(ssql, Len(ssql) - 9)
  17. End Function
  18. '****************************************************************************************************
  19. '更新查询的SQL语句,并更新子窗体的源对象。
  20. '在按钮单击事件或者窗体加载事件上直接调用即可。
  21. '如:
  22. 'Private Sub CmdQuery_Click()
  23. 'OpenQry
  24. 'End Sub
  25. '*****************************************************************************************************
  26. Sub OpenQry()
  27. '子窗体查询为已建立的查询。
  28. CurrentDb.QueryDefs("子窗体查询").SQL = GetSQL()
  29. Me.子窗体.SourceObject = "子窗体查询"
  30. End Sub
复制代码

作者: top_sf    时间: 2014-11-13 10:55
DoCmd不能用来执行返回结果集吧




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3