以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎样才能得到分组与交叉统计窗口中的设置项目?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4308)

--  作者:reachtone
--  发布时间:2009/9/11 10:53:00
--  怎样才能得到分组与交叉统计窗口中的设置项目?
想在项目中直接用系统命令调用分组、交叉统计窗口,并在另外一个窗口中显示统计结果。
现在有个问题,怎样才能知道用户是执行了“确定”还是“取消”呢?怎么才能得到用户设置的统计表名称呢?

--  作者:狐狸爸爸
--  发布时间:2009/9/11 10:56:00
--  
比较执行前后Table的数量,就知道用户是不是真的统计了。
最后一个Table的名称,就是生成的统计表的名称。

--  作者:reachtone
--  发布时间:2009/9/11 11:03:00
--  
ok,谢谢
--  作者:mr725
--  发布时间:2009/9/11 11:07:00
--  

帮助中的这段有点参考意义:

Type

返回一个整数,表示DataTable的类型。
返回值和类型对照表:

返回值 类型
1 内部数据表
2 内部查询表
3 外部数据表
4 外部查询表
5 临时表

If DataTables("统计").Type = 5 Then
    MessageBox.Show(
"这是一个临时表!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)
End
If

目前我们只


--  作者:reachtone
--  发布时间:2009/9/11 11:19:00
--  
这里还有个问题,如果新统计的表名称和原来执行过统计的表名称相同,那么table表的数量就没有变化了。所以,并不能完全根据table数量来判断是否执行了新的统计。
我再研究一下,看看能不能把统计表的数据先显示、然后把表删除,以保证新增表是最新的统计表。
--  作者:reachtone
--  发布时间:2009/9/11 12:10:00
--  
还有个问题,怎么得到某个table的别名呢?也就是统计设置里“表的标题”。
--  作者:mr725
--  发布时间:2009/9/11 13:11:00
--  
列出所有 表名 及 表标题  还有窗口名   有用吗?

For Each dt As DataTable In DataTables
    For Each frm As WinForm.Form In Forms
        output.show( dt.name & " " & dt.caption & " " & frm.name)
    Next
Next
[此贴子已经被作者于2009-9-11 13:12:52编辑过]

--  作者:czy
--  发布时间:2009/9/11 13:18:00
--  
这样?

Output.Show(datatables("统计表1").Caption)
--  作者:mr725
--  发布时间:2009/9/11 13:22:00
--  

为何临时表 Tables("统计表1").Name 可以,Tables("统计表1").Caption 就不行呢?


--  作者:czy
--  发布时间:2009/9/11 13:37:00
--  
要不这样,得到最后一个临时表的表标题

Dim name As String
For Each dt As DataTable In DataTables
    name = name & "|" & dt.Name
Next
Dim Values() As String = name.Split("|")
Output.Show(DataTables(Values(DataTables.Count)).Caption)