BeforeLoadInnerTable
普通用户可以忽略本事件。
打开项目,准备加载某内部数据表的时候执行,可以在此更改加载的字段和条件。
e参数属性:
DataTableName: 正在加载的数据表名称。
Fields: 指定加载的字段(列),不同字段用逗号分割。
Filter: 设置过滤条件,只加载符合此条件的数据。
User: 登录用户。
Cancel:
逻辑型,设置为True,将不加载此表。
HideSplashForm: 逻辑型,设为True,关闭Foxtable的启动封面。
注意此事件必须通过e.User来引用用户。
如果数据量很大,可以通过用此事件设置条件,只加载部分数据,甚至不加载数据,在运行的过程中根据条件动态加载数据。
有关动态加载数据,会有专门的章节介绍。
示例一
初始不加载任何数据:
If
e.DataTableName = "订单"
Then
e.Filter = "[_Identify] Is Null"
End
If
由于_Identify列是不可能为空的,所以上述代码会使得订单表初始不加载任何数据。
示例二
对于录入员,只加载当天的订单:
If
e.DataTableName = "订单"
AndAlso e.User.Name
= "录入员"
Then
e.Filter = "[日期] = #"
& Date.Today
& "#"
End
If
示例三
对于录入员,只加载10天以内的订单:
If
e.DataTableName = "订单" AndAlso e.User.Name = "录入员" Then示例四
对于录入员,只加载本年的订单:
If
e.DataTableName = "订单"
AndAlso e.User.Name
= "录入员"
Then
Dim StartDate
As New
Date(Date.Today.Year,
1,
1)
Dim
EndDate As New
Date(Date.Today.Year,
12 ,31)
e.Filter = "[日期] >= #"
& StartDate & "# And [日期] <= #"
& EndDate & "#"
End
If
示例五
只加载业务员为登录用户的订单:
If
e.DataTableName = "订单"示例六
只加载折扣在0.05和0.15之间的订单:
If
e.DataTableName = "订单" Then示例七
只加载上海和北京地区的订单:
If
e.DataTableName = "订单" Then