Office中国论坛/Access中国论坛

标题: [未解决]这个集合中找不到此项目? [打印本页]

作者: 轻风    时间: 2008-4-17 14:34
标题: [未解决]这个集合中找不到此项目?
以下一段代码,原来运行都没问题,后来不知道改了什么,出现错误,看了很久没看出毛病,对DAO不熟,在此请教大家
  1. Dim db As Database, rst As Recordset, nodCurrent As Node
  2. Dim objTree As TreeView, strText As String, nodRoot As Node
  3. Dim bk As String
  4. Set db = CurrentDb
  5. Set rst = db.OpenRecordset("bm", dbOpenDynaset, dbReadOnly)
  6. Set objTree = Me!TreeView0.Object
  7. rst.FindFirst "[上级部门] Is Null"
  8. Do Until rst.NoMatch
  9. strText = rst![部门名称]
  10. Set nodCurrent = objTree.Nodes.Add(, , "a" & rst![部门编号], strText, 5, 0)
复制代码
运行到“Set nodCurrent = objTree.Nodes.Add(, , "a" & rst![部门编号], strText, 5, 0) ”提示运行时错误‘3265’,这个集合中找不到此项目。这个“此项目”指的是rst![部门编号],可是在“bm”表中是有这个字段的,见图:

  [attach]29694[/attach]
极度郁闷,求

[ 本帖最后由 轻风 于 2008-4-22 09:18 编辑 ]
作者: andymark    时间: 2008-4-17 14:38
你的例子运行没出现什么提示呀
作者: 轻风    时间: 2008-4-17 14:43
原帖由 andymark 于 2008-4-17 14:38 发表
你的例子运行没出现什么提示呀


那你运行时TREE控件显示正常吗?
作者: andymark    时间: 2008-4-17 14:47
能正确显示
作者: 轻风    时间: 2008-4-17 14:52
对的啊,我原来也都能正确显示,不知怎么的就不行了,真是郁闷啊!!!
作者: andymark    时间: 2008-4-17 14:58
有可能是你的控件注册问题,你最近安装了什么软件,与TreeView版本有冲突
作者: 轻风    时间: 2008-4-17 16:10
可好象跟控件没有关系,而是跟DAO语句有关系,你再看看下面附件中的窗体1,单击按钮后会出错吗?
作者: andymark    时间: 2008-4-17 16:16
没问题呀
输出结果为:
    综合部门
    1
作者: 轻风    时间: 2008-4-17 17:01
怪了,我到rst!部门编号还是提示运行时错误‘3265’,这个集合中找不到此项目。什么原因呢?
作者: goto2008    时间: 2008-4-17 17:57
我打开你的树,好像也没问题。。。
作者: kangking    时间: 2008-4-17 20:23
Dim db As dao.Database, rst As dao.Recordset
做如上面的改动,即对对象进行显式声明。
作者: 轻风    时间: 2008-4-22 09:22
原帖由 kangking 于 2008-4-17 20:23 发表
Dim db As dao.Database, rst As dao.Recordset
做如上面的改动,即对对象进行显式声明。


没有用,还是同样的错误。

真搞不懂错在哪儿了
作者: bonesoup    时间: 2008-4-22 11:57
重装OFFICE
作者: 轻风    时间: 2008-4-22 13:46
经过测试,发现了现奇怪的现象,说难听点是见鬼了,可能我的电脑中邪了。

把“部门编号”字段改为其他名称,如“部门”,“部门号”,“BMBH”,“号”等等,都能正常显示,一改回“部门编号”就提示找不到此项目(调试光标停在rst!部门编号)。突发奇想,把字段改为“门编”,咦,也提示找不到此项目,不同的是调试光标竟然停在了“rst!部门名称”这一行。

你们说怪不怪,这现象怎么解释?
作者: 轻风    时间: 2008-4-22 13:54
而且我换了一台电脑测试也是这样,倒!
作者: andymark    时间: 2008-4-22 14:09
重新注册DAO
作者: 轻风    时间: 2008-4-22 15:34
原帖由 andymark 于 2008-4-22 14:09 发表
重新注册DAO


这方法原来试过,没用。
在同一电脑用ACCESS2007打开正常。重装OFFICE2003也没用。
作者: goto2008    时间: 2008-4-23 08:51
帮大哥顶一下
作者: rjacky    时间: 2008-4-23 09:23
我这里也没有错误,是不是和office的版本有关?
作者: 轻风    时间: 2008-4-23 10:36
原帖由 rjacky 于 2008-4-23 09:23 发表
我这里也没有错误,是不是和office的版本有关?


哎!让我郁闷的是之前都行,突然就不行了。而且换成其他字段名也正常,实在搞不懂,跟字段名有什么关系?“部门编号”与“部门号”有区别吗?现在我能解决的方法就是换个字段名,对系统没有影响。只是这奇怪的问题得不到解释,实在郁闷。




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