以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗体增加一行TABLE后,报错,请教高人指点  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=18447)

--  作者:hiliuyong
--  发布时间:2012/4/13 12:12:00
--  窗体增加一行TABLE后,报错,请教高人指点

窗体的按钮代码

Tables("tblBillMain").AddNew()

If e.Form.Controls("txtCust")="" Then
    Return
   
End If

 

Table的DatarowAdding里面的代码是

e.DataRow("Riqi") = Date.Today()
e.DataRow("Creater") = _UserName
e.DataRow("CreatTime") = Date.now()

Dim bh As String = Format(e.DataRow("CreatTime"),"yyyyMMddhhmmss") \'取得编号的8位前缀
e.DataRow("Zongdanhao") = bh

 

用狐表“增加行”可以正常添加

但是有窗体按钮,则报错

图片点击可在新窗口打开查看
但是可以增长添加行
图片点击可在新窗口打开查看
 
 

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

你发的图片看不到,图片要上传才行。

 

另外:

 

If e.Form.Controls("txtCust")="" Then
   Return
End If

 

应该改为:

 

If e.Form.Controls("txtCust").Value Is Nothing Then
   Return
End If

[此贴子已经被作者于2012-4-13 12:25:22编辑过]

--  作者:程兴刚
--  发布时间:2012/4/13 12:23:00
--  

1、e.Form.Controls("txtCust")="" Then
    改为:Forms("窗口名").Controls("txtCust")="" Then \'窗口名自己调整,因为增加行后活动焦点跑到了表里面,这里用e参数找不到窗口。
2、将表的DatarowAdding里面的代码放到DataRowAdded事件里面,您用错了事件,一定要看清楚下面的事件说明里面的之前、正在、之后之类的说明,这些文字对于您是否正确选择事件相当关键!


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

If e.Form.Controls("txtCust")="" Then
   Return
End If

 

改为:

 

If e.Form.Controls("txtCust").Value Is Nothing Then
   Return
End If


--  作者:blackzhu
--  发布时间:2012/4/13 12:30:00
--  
群里问过了,少一个.Value    
--  作者:hiliuyong
--  发布时间:2012/4/13 12:41:00
--  

非常感谢

 


--  作者:程兴刚
--  发布时间:2012/4/13 12:43:00
--  

呵呵,我审题不够仔细造成!


--  作者:blackzhu
--  发布时间:2012/4/13 13:14:00
--  
程老大,其实我和你一样,在群里提问时也没有发现,后来有人发现了.