窗口中的关联表

窗口中的Table控件也可以绑定到关联表,这样我们可以轻松地设计出下图所示的录入界面:

设计的方法很简单,上面的输入框绑定到父表(入库单)的各列,下面的Table控件绑定到关联子表(入库单.入库明细):

显示自动合计行

为了在关联表中显示自动合计行,可以在窗口的AfterLoad事件中加上代码:

With Tables("入库单.入库明细")
    .Cols("数量").GrandTotal = True
    .Cols("金额").GrandTotal = True
    .GrandTotal = True

End
With

在文本框中显示合计结果

经常有用户会提问:下面的窗口中,如何在金额合计位置的文本框,动态汇总显示总金额?


其实很简单,就是利用使用指南中统计子表数据的知识而已。
假定入库单和入库明细之间的关联的名称为“rkmx”,在入库表中增加一个名为“金额”的表达式列,将其表达式设置为:
Sum(Child(rkmx).金额)。
然后在设计窗口的时候,将上面窗口中金额合计位置的文本框绑定到这个表达式列即可。

关于增加行

上面的窗口同时包括两个表的数据,分别为入库单和入库明细,通常的操作是增加一个入库单,然后在此入库单下增加若干明细,那么怎样在这个窗口中分别给这两个表增加行呢?

很简单,我们可以在窗口中插入一个名为“新增入库单”的按钮,将其代码设置为:

Tables("入库单").AddNew()

这样单击此按钮,就可以在父表(入库单)中增加一行,即增加一个入库单。

然后再插入一个名为“新增入库明细”的按钮,将其代码设置为:

Tables("入库单.入库明细").AddNew()

这样单击此按钮,就可以在关联子表(入库单.入库明细)增加一行,既在当前入库单下增加一个入库明细。

当然也可以用鼠标右击窗口中的Table,从弹出的快捷菜单中,执行“行相关 → 增加行”命令,来在对应的Table中增加行。


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