事件中的关联表

我们知道,因为关联表的存在,一个DataTable可能对应有多个Table。
例如订单和订单明细两个表,通过订单编号建立关联,那么订单明细对应有两个Table,分别是:

Tables("订单明细")
Tables("订单.订单明细")

不管一个表对应有多少个Table,这些Table都是共享事件的,例如我们在订单明细PrepareEdit事件中加上代码:

e.Cancel = True

那么Tables("订单明细")和Tables("订单.订单明细")都是不可以编辑的了。

如果希望禁止编辑Tables("订单明细"),但是允许编辑Tables("订单.订单明细"),代码可以改为:

If e.Table.Name = "订单明细" Then
    e.Cancel =
True

ElseIf
e.Table.Name = "订单.订单明细"
    e.Cancel =
False

End
If

 

 

 


本页地址:http://www.foxtable.com/webhelp/topics/3047.htm