以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]窗口中的数据操作,报beginedit()将允许... (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53124) |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 12:42:00 -- [求助]窗口中的数据操作,报beginedit()将允许... 我尝试做了一个以窗口为主的操作界面,点击添加按钮时代码如下 Tables("员工表").AllowEdit=True Tables("员工表").AddNew() Forms("员工维护").open() 员工维护窗口打开后如果不进行任何操作,点击关闭按钮时代码如下 With CurrentTable If .Current IsNot Nothing Then .Current.Reject() End If End With Tables("员工表").AllowEdit=False Forms("员工维护").Close() 设置AllowEdit是为了不想用户直接操作表格。 点击关闭按钮后就会报错“此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据” 查下来应该是.Current.Reject()这里导致的报错,但不加这句的话数据表就会留下一个空白行,各位帮忙看下该如何解决? |
||||
-- 作者:有点甜 -- 发布时间:2014/6/30 14:18:00 -- 完整的出错例子,请上传,不是1楼的代码所应该有的错误,别的地方影响了。 |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:01:00 -- 谢谢,已经解决了,发现是因为AfterLoad中写了AllowEdit=false导致,本意是不想让用户直接编辑表的,看来通过这种方式限制编辑是不行的。 |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:11:00 -- 不对,还是有问题,好像忽好忽坏的,有时候不报错有时候报错。
|
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:15:00 -- 好像第一次点击添加没问题,第二次就不行了 |
||||
-- 作者:jspta -- 发布时间:2014/6/30 15:16:00 -- 这个问题不用太纠结了,是Foxtable的事件响应问题,把这个错误在项目事件BeforeShowErrorMessage中屏蔽掉就可以了
Dim msg As String = e.Message1 |
||||
-- 作者:有点甜 -- 发布时间:2014/6/30 15:31:00 -- 以下是引用不可思议的虫在2014-6-30 15:15:00的发言:
好像第一次点击添加没问题,第二次就不行了
你给的例子,是外部数据源的,无法测试啊。你弄成内部表,或者access数据源的,打包发上来。 |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:34:00 -- BeforeShowErrorMessage加了代码还是不行,我又试着增加了一句也不行。 Dim msg2 As String = e.Message2 If msg2.Contains("此行已从表中移除并且") Then e.Cancel = True 和我使用SQL Server有关系吗 |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:36:00 -- 就是点击完添加,然后什么也不操作的情况下,点击关闭按钮,有时候会报错,有时候正常。 |
||||
-- 作者:不可思议的虫 -- 发布时间:2014/6/30 15:45:00 -- 我怕改成ACCESS后就好了...我先改个试试吧 |