Office中国论坛/Access中国论坛

标题: 请教达人如何用代码生成ACCESS的查询 [打印本页]

作者: zerk    时间: 2006-12-30 03:44
标题: 请教达人如何用代码生成ACCESS的查询
我有这样的苦恼!

因为不能用一个查询就得到我想要的结果,所以无法直接在代码中用一句 Docmd.RunSQL 来得到查询结果,

如果要用两三个相关联的查询来能到结果的话该如何用代码实现?

我的想法是是否可以在代码中写SQL的查询语句,然后用代码直接生成查询A,再在下一段SQL查询语句中引用查询A,用代码生成查询B,直到得到想要的最终查询结果后,再删除所用的查询。

请问以上的想法可否用代码实现? 我不知道该如何写,请教达人。

或者有其它更简单的方法可以实现?
作者: tz-chf    时间: 2006-12-30 06:29
我还没碰到过这么复杂的事情
作者: gnoy    时间: 2006-12-30 17:22
以下是引用zerk在2006-12-29 19:44:00的发言:


我有这样的苦恼!

因为不能用一个查询就得到我想要的结果,所以无法直接在代码中用一句 Docmd.RunSQL 来得到查询结果,

如果要用两三个相关联的查询来能到结果的话该如何用代码实现?

我的想法是是否可以在代码中写SQL的查询语句,然后用代码直接生成查询A,再在下一段SQL查询语句中引用查询A,用代码生成查询B,直到得到想要的最终查询结果后,再删除所用的查询。

请问以上的想法可否用代码实现? 我不知道该如何写,请教达人。

或者有其它更简单的方法可以实现?

可以看出你是真正有实践经验的[em01] 并且具备成为高手的必要条件[em01]

ACCESS是真正对象化的,有空学学QueryDefs 这个对象
作者: tz-chf    时间: 2006-12-30 19:31
在分配用户权限时很麻烦
作者: andymark    时间: 2006-12-31 00:49
上面是可以实现的,关键的是怎样用代码创建一个查询,gnoy版主已给了提示,至于怎样引用 删除查询都很简单


作者: zerk    时间: 2006-12-31 01:25
呵呵,多谢各位达人的指点,

偶试着用 QueryDef 做了一下,成功了,多谢。

Dim Db As DAO.Database
Dim Qy As DAO.QueryDef
Set Db = CurrentDb
'********* Create Query
Set Qy = Db.CreateQueryDef("TempQy", "select * from Products")

'********* Delete Query
Db.QueryDefs.Delete Qy.Name

呵呵。
[em01][em01][em01]
作者: jynj    时间: 2008-3-1 18:17
哈哈,这正是我需要的,不知如果不删除这条查询,下次再创建这个查询时会不会有提示




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