Office中国论坛/Access中国论坛

标题: 如何把sql查询的结果赋值给变量,或者控件 [打印本页]

作者: qq_shunping    时间: 2007-9-4 15:23
标题: 如何把sql查询的结果赋值给变量,或者控件
如何把sql查询的结果赋值给变量,或者控件
比如我定义个变量 dim a as string,
把select max() from table 的结果赋值给变量a,用什么方法,一定要用ado吗,有没有access的方法或函数
作者: Grant    时间: 2007-9-4 15:25
用Dmax函数吧.....
a=Dmax(写入条件)
作者: andymark    时间: 2007-9-4 15:30
改用DMAX
作者: hugcy110    时间: 2007-9-4 16:20
前段时间我也问个同样的问题.
我根据高手们的回答后,总结认为:SQL运行结果是查询而不是数据值,所以不能直接赋给变量的.
不知道我的这个说法对不对,向高手们求证!!!!!!!!!!!!!!!!!!!!!!
作者: hi-wzj    时间: 2007-9-5 09:52
原帖由 hugcy110 于 2007-9-4 16:20 发表
前段时间我也问个同样的问题.
我根据高手们的回答后,总结认为:SQL运行结果是查询而不是数据值,所以不能直接赋给变量的.
不知道我的这个说法对不对,向高手们求证!!!!!!!!!!!!!!!!!!!!!!



作者: qq_shunping    时间: 2007-9-5 11:51
标题: 如果是这种情况呢
select id from table where  name=sdf
这种情况如何把sql查询的值,赋值给变量呢
作者: lin_nx    时间: 2007-9-5 12:04
如果这个quary只有一条记录的话可以用.fields()来指定一个数据.
如果有一条以上好像只能通过recordset才可以选定需要的值再把它传给变量
作者: lin_nx    时间: 2007-9-5 12:05
晕死 query打成quary了
作者: 方漠    时间: 2007-9-5 18:00
用DAO.

Dim Rs as recordset
Dim YouVar
Set  Rs=currentdb.openrecordset("YourSQL")
if rs.recordcount=0 then msgbox "No record found."
if rs.recordcount=1 then
   YouVar=Rs!Fieldname
end if

if rs.recordcount>1 then
   .......
end if
作者: beenet    时间: 2007-9-27 16:37
好极了 看来要多学学DAO
作者: andymark    时间: 2007-9-27 16:55
原帖由 beenet 于 2007-9-27 16:37 发表
好极了 看来要多学学DAO


学ADO吧,DAO微软一直没作大的更新
作者: hi-wzj    时间: 2007-9-28 09:11
原帖由 qq_shunping 于 2007-9-5 11:51 发表
select id from table where  name=sdf
这种情况如何把sql查询的值,赋值给变量呢


变量名=dlookup("[id]","table","[name]='sdf'")
作者: t小宝    时间: 2007-9-28 23:01
原帖由 qq_shunping 于 2007-9-5 11:51 发表
select id from table where  name=sdf
这种情况如何把sql查询的值,赋值给变量呢


变象引用DAO:
变量名=CurrentDb.OpenRecordset("select id from table where  name=sdf")!id
或者ADO:
变量名=CurrentProject.Connection.Execute("select id from table where  name=sdf")!id
变量名=CurrentProject.Connection.Execute("select id from table where  name=sdf").GetString




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