15 12
发新话题
打印

[已解决] 如何将查询结果赋值给某个字段?( 此文章被查看:960次,被回复:14篇!! )

回复 10# 的帖子

你查一下,是否你的fullname,本身没有值!


   查一下你的登陆用户(用户管理),是否登陆名字和中文名字都有值?

© 本文为 ty1227 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

回复 11# 的帖子

都是有值的。
而且,之前我是在owner字段的选项列表里写代码,实现fullname字段选了某个中文名,owner字段的下拉框里只显示与之对应的loginname。
但是这样仍旧要再选一次很麻烦,所以想要owner字段直接取对应的loginname,可以隐藏掉。可是试来试去都取不到。

© 本文为 xiangfei 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

我改成在owner的选项列表下加代码,倒是可以取到相应的loginname了。只是owner字段要显示在表单上,我把它去掉,就又取不到了。
代码如下:
Dim fullname
Dim session
Dim status

fullname = GetFieldValue("fullname").GetValue()
set session = GetSession
set querydef = session.BuildQuery("users")
querydef.BuildField("login_name")
set operator = querydef.BuildFilterOperator(AD_BOOL_OP_AND)
operator.BuildFilter("fullname"), AD_COMP_OP_EQ ,fullname
set resultset = session.BuildResultSet(querydef)
resultset.Execute
status = resultset.MoveNext
Do while status = AD_SUCCESS
   choices.AddItem(resultset.GetColumnValue(1))
   AddFieldValue "owner", resultset.GetColumnValue(1)
   status = resultset.MoveNext
Loop

© 本文为 xiangfei 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

你加个msgbox resultset.GetColumnValue(1) 看下你查询到的是否是loginname

© 本文为 asukataozi 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

其实这个问题应该是设置问题,代码是正确的,
你将Choices List Hook对应的属性设置为Recalculate Choices List,这样应该就可以了。


最佳答案
该回答被楼主/管理员列为正解!

© 本文为 yunshan 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

 15 12
发新话题