以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗体内有多个table控件,如何设定当前的table  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171702)

--  作者:xa139
--  发布时间:2021/9/6 16:00:00
--  窗体内有多个table控件,如何设定当前的table
Dim sno As String =CurrentTable.Current("推论编号")
如何让确定 这个 CurrentTable

--  作者:有点蓝
--  发布时间:2021/9/6 16:10:00
--  
没有办法使用代码设定。建议还是指定表名使用:Dim sno As String =Tables("xx").Current("推论编号")
--  作者:z769036165
--  发布时间:2021/9/6 17:12:00
--  

作为Table

当作为普通的Table使用的时候,其类型自然是Table。
至于名称则要区分两种情况。

如果类型为Normal,且非副本,此时窗口并不会创建新的Table,只是将原来的Table移到窗口中显示,所以其名称自然就等于绑定的Table名称。
例如将订单表移到主窗口后,对其的调用还是和原来一样:

Tables("订单").AllowEdit = True

如果类型为Normal,且为副本,或者类型为SQLTable、SQLQuery,此时窗口会创建一个新的Table,此新Table的名称为:

窗口名称_控件名称

假定这个Table的名称为Table1,且在窗口1中,那么代码中必须使用“窗口1_Table1”的名称来调用此Table:

Tables("窗口1_Table1").AllowEdit = False

获得对应的DataTable

对于Normal型Table,不管是副本还是非副本,其对应的DataTable的名称,就是其绑定的表的名称,例如:

DataTables("订单").AllowEdit = True

对于SQLTable、SQLQuery型Table,对应的DataTable名称为:

窗口名称_控件名称

例如:

DataTables("窗口1_Table1").AllowEdit = False