以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自定义录入界面四遇到的报错问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=18405)

--  作者:红叶
--  发布时间:2012/4/12 9:05:00
--  [求助]自定义录入界面四遇到的报错问题

帮助实例 自定义录入界面四

6、将窗口的“增加客户”按钮的Click事件代码为:

e.Form.DropDownBox.CloseDropdown(False)
Dim
r As Row = Tables("客户").AddNew()
Forms(
"客户编辑").Open()
r.Save()
e.Form.DropDownBox.Value = r(
"客户ID"
)

当执行到Forms("客户编辑").Open()后,如果又撤消或删除了新增的行r,之后就会报错,我将代码改为如下仍然报错?

 

e.Form.DropDownBox.CloseDropdown(False)
Dim
r As Row = Tables("客户").AddNew()
Forms(
"客户编辑").Open()

If r IsNot Nothing Then
   r.Save()
   e.Form.DropDownBox.Value = r(
"客户ID"
)

end if


 


--  作者:狐狸爸爸
--  发布时间:2012/4/12 9:10:00
--  

参考:

http://www.foxtable.com/help/topics/0428.htm

 


--  作者:红叶
--  发布时间:2012/4/12 9:30:00
--  
Added 新增加的行
Deleted 已经删除的行
Modified 已经修改过的行
Unchanged 未曾修改的行
Detached 刚刚创建,还未添加到DataTable中的行;在讲述事件编程的时候,我们会接触到这种状态的行。

还是不会应该如何判断

在Forms("客户编辑").Open()后,一种情况是撤消或删除了R不再执行后面的代码,别一种情况是编辑并保存了R需要执行后面的代码,在这两种下该如何来写代码?


--  作者:狐狸爸爸
--  发布时间:2012/4/12 9:33:00
--  

狡猾一下:

 

e.Form.DropDownBox.CloseDropdown(False)
Dim r As Row = Tables("客户").AddNew()
Dim cnt As Integer = Tables("客户").Rows.Count
Forms("客户编辑").Open()
if  cnt = Tables("客户").Rows.Count

     r.Save()
     e.Form.DropDownBox.Value = r("客户ID")
end if


--  作者:红叶
--  发布时间:2012/4/12 9:39:00
--  

原来狐爸更狡猾,谢谢!