Foxtable(狐表)用户栏目专家坐堂 → 错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。


  共有1586人关注过本帖树形打印复制链接

主题:错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。

帅哥哟,离线,有人找我吗?
waiter
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:313 威望:0 精华:0 注册:2017/10/6 13:16:00
错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。  发帖心情 Post By:2017/10/17 21:41:00 [只看该作者]

下面代码当“库存”表没有数据但成为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

恳请解惑。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:313 威望:0 精华:0 注册:2017/10/6 13:16:00
  发帖心情 Post By:2017/10/17 22:08:00 [只看该作者]

提示: e是private,因此它在此上下文中不可访问,为什么?

e不是代表Tables("库存")?私有什么意思?
[此贴子已经被作者于2017/10/17 22:12:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/17 22:20:00 [只看该作者]

e是private的错误重启下项目就可以了。然后重新测试2楼的代码

 回到顶部
帅哥哟,离线,有人找我吗?
waiter
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:313 威望:0 精华:0 注册:2017/10/6 13:16:00
  发帖心情 Post By:2017/10/17 22:31:00 [只看该作者]

重启项目后,命令窗口测试2楼代码,依旧提示: e是private,因此它在此上下文中不可访问,为什么?


切换到库存表,依旧提示:
错误所在事件:库存,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。


说明:只要库存表有一行数据,错误提示就不会出现。
[此贴子已经被作者于2017/10/17 22:38:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/17 22:41:00 [只看该作者]

请上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
waiter
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:313 威望:0 精华:0 注册:2017/10/6 13:16:00
  发帖心情 Post By:2017/10/17 22:50:00 [只看该作者]

附件中,在销售表中 CurrentChanged事件代码跟库存表是一样的,只是窗口不同而已,但销售表不提示错误。请解惑!非常感谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:inandout13.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/17 22:57:00 [只看该作者]

项目用户登录密码多少?

 回到顶部
帅哥哟,离线,有人找我吗?
waiter
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:313 威望:0 精华:0 注册:2017/10/6 13:16:00
  发帖心情 Post By:2017/10/17 23:02:00 [只看该作者]

高水荣,6255548g


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
总数 13 1 2 下一页