以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128105)

--  作者:好吧
--  发布时间:2018/11/28 21:24:00
--  [求助]

我有一张员工资料表,我做了个编辑窗口,将各列的信息绑定到对应的控件中,然后

有个“新增”按钮,代码是:tables("员工资料").addnew()

有个“取消”按钮,代码是:tables("员工资料").current.reject()

问题是:我点“新增”按钮,新增了一行,然后我不想新增了,点“取消”按钮,就出错,员工资料表还出现了一个大大的“X”.

请问老师,这个问题怎么解决??


--  作者:有点甜
--  发布时间:2018/11/28 21:35:00
--  

 

做个例子发上来测试。

 


--  作者:好吧
--  发布时间:2018/11/29 10:01:00
--  
在“取消”按钮中执行, Tables("员工资料").current.reject() 是可以的

在窗口的菜单事件,ItemClick事件中执行,下面的代码:
Select Case e.StripItem.Name
    Case "保存"
        If Tables("员工资料").current IsNot Nothing Then
            Tables("员工资料").current.save()
        End If
    Case "取消"
        If Tables("员工资料").current IsNot Nothing Then
            Tables("员工资料").current.reject()
        End If
End Select

点取消,就弹出这样的错误:“此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据 ”



--  作者:有点甜
--  发布时间:2018/11/29 10:03:00
--  

试试改成

 

e.Form.controls("button1").Select
Tables("员工资料").FinishEditing

Tables("员工资料").current.reject()


--  作者:好吧
--  发布时间:2018/11/29 10:18:00
--  
这样就可以了
--  作者:好吧
--  发布时间:2018/11/29 10:32:00
--  
e.Form.controls("button1").Select
一定是选择按钮才可以??
我就是为了不要按钮才用窗口的菜单了

--  作者:有点甜
--  发布时间:2018/11/29 10:43:00
--  
以下是引用好吧在2018/11/29 10:32:00的发言:
e.Form.controls("button1").Select
一定是选择按钮才可以??
我就是为了不要按钮才用窗口的菜单了

 

随便弄一个控件,放在不可见的地方,把焦点移过去即可。

 

因为点击菜单的时候,焦点并没有离开你的textbox控件,这个时候如果撤销后,焦点离开就会报错。


--  作者:好吧
--  发布时间:2018/11/29 10:54:00
--  
好的,谢谢甜老师