以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]datacolchanged中字段名必须是数据列吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87209)

--  作者:tjzj_lyl
--  发布时间:2016/7/5 23:16:00
--  [求助]datacolchanged中字段名必须是数据列吗?
请问老师:datacolchanged中字段名必须是数据列吗?
     我有一段代码,预收款 为表达式,测试后没有反应,而换成另一字段(数据列)可通过,为什么呢?代码如下:
If e.DataCol.Name = "预收款" Then
MessageBox.Show("678768")
    Tables("基本信息表").AllowEdit=True
    Dim bb As Double
    Dim bb1 As Double
    
    bb=e.DataRow("开票金额")-e.DataRow("收款情况_小计")
    If e.DataRow("结算情况_结算值")<>0 Then
        bb1=e.DataRow("结算情况_结算值")-e.DataRow("收款情况_小计")
    Else
        If e.DataRow("结算情况_预算值") <>0  Then
            bb1=e.DataRow("结算情况_预算值")-e.DataRow("收款情况_小计")
        Else
            bb1=bb
            
        End If
    End If
    
    e.DataRow("欠款额")=bb
    e.DataRow("应收额")=bb1
    e.DataRow("盈亏")=e.DataRow("收入")-e.DataRow("成本")
    e.DataRow("库存量")=e.DataRow("入库量")-e.DataRow("发出量")
    Tables("基本信息表").AllowEdit=False
    Tables("基本信息表").current.save()
End If

--  作者:大红袍
--  发布时间:2016/7/5 23:29:00
--  

 表达式列,不能触发datacolChanged事件。

 

 你可以用组成表达式的列来判断,参考

 

http://www.foxtable.com/webhelp/scr/2381.htm

 


--  作者:tjzj_lyl
--  发布时间:2016/7/5 23:32:00
--  
好的,谢谢。
--  作者:tjzj_lyl
--  发布时间:2016/7/6 11:28:00
--  
大红袍老师:
    我在做窗口录入时,需要输入编号,但不能重复,代码中有控制,但“a child row has multiple parents”总先出于代码控制之前出现,并死机,请问如何避免这个问题?

--  作者:大红袍
--  发布时间:2016/7/6 11:31:00
--  

如果是控件,在Validating事件判断

 

如果是表格,在ValidateEdit事件判断


--  作者:狐狸爸爸
--  发布时间:2016/7/6 11:32:00
--  

不用区分的,如何避免输入重复值:

 

http://www.foxtable.com/webhelp/scr/2481.htm

 


--  作者:tjzj_lyl
--  发布时间:2016/7/6 11:36:00
--  
谢谢老师
--  作者:tjzj_lyl
--  发布时间:2016/7/6 11:36:00
--  
谢谢老师