以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108181) |
||||
-- 作者:waiter -- 发布时间:2017/10/17 21:41:00 -- 错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。 下面代码当“库存”表没有数据但成为Maintable时提示主题错误(只要有1行就不会提示出错),为什么 库存表CurrentChanged事件代码以下:----------------------当数据为空时,又怎会发生CurrentChanged事件? If Forms("库存管理").Opened Then \'如果窗口已经打开 If e.Table.Rows.count > 0 Then ‘(数据为空时下面代码应该不会执行才对,为什么还错?) Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("库存管理_Table1").FindRow(dr) If wz >=0 Then Tables("库存管理_Table1").Position = wz End If End If End If 恳请解惑。
|
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 21:49:00 -- 1、打开命令窗口,然后测试,看命令窗口输出什么内容? If Forms("库存管理").Opened Then \'如果窗口已经打开 If e.Table.Rows.count > 0 Then ‘(数据为空时下面代码应该不会执行才对,为什么还错?) Output.Show(e.Table.Current is nothing) Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("库存管理_Table1").FindRow(dr) If wz >=0 Then Tables("库存管理_Table1").Position = wz End If End If End If 2、测试这个代码 If Forms("库存管理").Opened Then \'如果窗口已经打开 If e.Table.Rows.count > 0 Then \'(数据为空时下面代码应该不会执行才对,为什么还错?) Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("库存管理_Table1").FindRow("_Identify=" & dr("_Identify")) If wz >=0 Then Tables("库存管理_Table1").Position = wz End If End If End If |
||||
-- 作者:waiter -- 发布时间:2017/10/17 22:08:00 -- 提示: e是private,因此它在此上下文中不可访问,为什么? e不是代表Tables("库存")?私有什么意思?
[此贴子已经被作者于2017/10/17 22:12:54编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 22:20:00 -- e是private的错误重启下项目就可以了。然后重新测试2楼的代码 |
||||
-- 作者:waiter -- 发布时间:2017/10/17 22:31:00 -- 重启项目后,命令窗口测试2楼代码,依旧提示: e是private,因此它在此上下文中不可访问,为什么? 切换到库存表,依旧提示: 错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。 说明:只要库存表有一行数据,错误提示就不会出现。
[此贴子已经被作者于2017/10/17 22:38:07编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 22:41:00 -- 请上传实例测试 |
||||
-- 作者:waiter -- 发布时间:2017/10/17 22:50:00 -- 附件中,在销售表中 CurrentChanged事件代码跟库存表是一样的,只是窗口不同而已,但销售表不提示错误。请解惑!非常感谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 22:57:00 -- 项目用户登录密码多少? |
||||
-- 作者:waiter -- 发布时间:2017/10/17 23:02:00 -- 高水荣,6255548g |
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 23:11:00 -- 库存管理窗口表的窗口表事件要加上判断 If e.Table.Current IsNot Nothing Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("库存").FindRow(dr) If wz >=0 Then Tables("库存").Position = wz End If End If |