Office中国论坛/Access中国论坛

标题: 分享:动态生成查询的VBA代码 [打印本页]

作者: olderdream2007@    时间: 2013-1-26 14:39
标题: 分享:动态生成查询的VBA代码
这个是动态生成查询的代码 觉得比较用有 贴出来

动态生成查询:
CurrentDb.QueryDefs("查询名称").SQL = "select * from table1"


Dim dbs As Database, strSQL1 As String, strSQL2 As String
        Dim qdf1 As QueryDef
   
        Set dbs = CurrentDb
        
        strSQL1 = "SELECT 职工表.* " & _
        "FROM 职工表 " & _
        "WHERE (((职工表.性别)" & GenderNo & ") " & _
        "AND ((职工表.是否已婚)" & Married & ") " & _
        "AND ((职工表.编制)" & PList & ")"
        
        strSQL2 = ");"         Set qdf1 = dbs.CreateQueryDef("~人员查询", strSQL1 + strSQL2)
        DoCmd.OpenQuery qdf1.Name
        
            
        dbs.Close


作者: czlwb    时间: 2013-1-26 16:51
这个是动态生成查询的代码 觉得比较用
作者: 笑嘻嘻哦    时间: 2013-1-26 18:26
这种代码我还不会啊























作者: yanwei82123300    时间: 2013-1-27 08:21
请看看刘晓军老师的例子最好
作者: olderdream2007@    时间: 2013-1-27 13:06
yanwei82123300 发表于 2013-1-27 08:21
请看看刘晓军老师的例子最好

谢谢高人提示  有链接么  坛子里好像没有搜到 谢谢
作者: yanwei82123300    时间: 2013-1-27 18:48
刘小军 这三个字即可搜索到
作者: olderdream2007@    时间: 2013-1-27 22:32
谢谢高人 搜到了 学习中
作者: roych    时间: 2013-1-27 23:07
类似的例子很多:http://www.office-cn.net/thread-94266-1-1.html
温馨提醒一句,楼主注意不要舍本逐末。
不是说动态生成查询不好。有时候确实也是需要临时查询的,但大多数情况下,还是按设计视图做查询好些。一方面较直观,方便检查或者修改,另一方面,虽然,SQL注入式攻击往往只针对SQL Server,但是,如果不慎也容易被查到那些基础表,而进行恶意破坏也绝非不可能。
如果非要用临时查询,我的做法是先创建好一个查询,然后利用第一条代码,在后台编写执行。
作者: olderdream2007@    时间: 2013-1-29 22:13
roych 发表于 2013-1-27 23:07
类似的例子很多:http://www.office-cn.net/thread-94266-1-1.html
温馨提醒一句,楼主注意不要舍本逐末。 ...

谢谢版主指点 学习中 学习中
作者: Alashome    时间: 2015-7-2 11:43
good
作者: Alashome    时间: 2015-7-6 09:36
good




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