以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表的关联代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159811)

--  作者:sunwei8488
--  发布时间:2021/1/9 21:05:00
--  表的关联代码
图片点击可在新窗口打开查看图片点击可在新窗口打开查看
建立两个表格,“表A”和“表B”,再建立一个主窗口,主窗口设置一个下拉组合框“ComboBox”和一个“表”,通过下拉组合框选择下面的表关联"表A"还是"表B"。 代码怎么写,谢谢!

--  作者:zxjsd
--  发布时间:2021/1/9 23:05:00
--  

通过下拉框的事件,设置表的DataSource


对于SQLTable和SQLQuery类型的Table,以及副本型的Table,可以通过DataSource属性动态设置其绑定的表。
上述类型的Table,都是窗口特有的,如果还没有接触窗口设计,可以暂时跳过此方法。

示例

Tables("窗口1_Table1").DataSource = DataTables("订单")

我们知道Foxtable是通过以下类型生成统计表或临时表的:

GroupTableBuilder
CrossTableBuilder
SQLGroupTableBuilder
SQLCrossTableBuilder
SQLJoinTableBuilder
DataTableBuilder

这些类型都新增加了一个BuildDataSource方法,可以生成一个对象,此对象可以直接绑定到SQLTable和SQLQuery类型的Table,以及副本型的Table。
例如将某按钮的Click事件代码设为:

Dim b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef("日期","月份")
b.Totals.AddDef("数量")
Tables
("窗口1_Table1").DataSource = b.BuildDataSource()

那么单击此按钮,窗口中的Table1将显示各月销售数量。

提示:上面的代码中生成的统计表的名称并非"统计表1",而是"窗口1_Table1