Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

创建包含变量和控件的SQL语句--用DAO创建SQL语句

时 间:2019-03-29 22:52:53
作 者:杨雪   ID:42182  城市:南京
摘 要:Microsoft Jet数据库引擎可以处理所有的SQL语句,但不处理变量或控件。因此,必须构建相应的SQL语句。由Microsoft Access先确定这些值,然后再将他们连接到SQL语句,该SQL语句传递给Jet数据库引擎。
正 文:

下面的示例显示如何使用简单的 SQL 语句创建 QueryDef对象。该查询从“Orders”表返回所有发生在 2016 年 3 月 31 日之后的订单:
Public Sub GetOrders()
   Dim dbs As DAO.Database
   Dim qdf As DAO.QueryDef
   Dim strSQL As String
   Set dbs = CurrentDb
   strSQL = "Select * FROM orders Where orderDate >#3-31-2016#;"
   Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)
End Sub

下面的示例使用存储在变量中的值创建同样的 QueryDef对象。请注意,表示日期值的数字符号 (#) 必须包含在字符串中,这样它们才能与日期值连接。
Dim dbs As Database, qdf As QueryDef, strSQL As String
Dim dteStart As Date
dteStart = #3-31-2016#
Set dbs = CurrentDb
strSQL = "Select * FROM orders Where orderDate" _
    & "> #" & dteStart & "#;"
Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)

下面的示例使用“Orders”窗体上名为“OrderDate”的控件值创建一个 QueryDef对象。请注意要提供对控件的完整引用,并在字符串中包含表示日期的符号。
Dim dbs As Database, qdf As QueryDef, strSQL As String
Set dbs = CurrentDb
strSQL = "Select * FROM orders Where orderDate" _
    & "> #" & Forms!Orders!OrderDate & "#;"
Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助