以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教如何获取窗口副表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83149)

--  作者:5159518
--  发布时间:2016/4/1 15:27:00
--  [求助]请教如何获取窗口副表
老师,我需要在窗口A中获取窗口B中的一个副表,并且只取这个副表中的部分列内容生成新的表,应该如何编写代码呢?

If Forms("采购下单").Opened = True    
    Dim tb2 As WinForm.Table = Forms("采购下单").Controls("Table2")
    Dim tnm As String = tb2.Name
Tables(e.Form.Name & "_Table1").Fill("S¥elect[_Identify],[规格型号],[封装_类型],[封装_引脚],[采购数量],[单价_物资单价] From {tnm}",False)
End If

这是我现在编写的代码,其中“s¥elect”中将¥去掉,如果将 From {tnm}中的tnm换成数据表,那么没有问题,可以生成新表,但是换成窗口中的表就报错,又看不明白错误提示,请问老师,应该如何正确编写代码呢?
[此贴子已经被作者于2016/4/1 15:32:42编辑过]

--  作者:大红袍
--  发布时间:2016/4/1 15:33:00
--  

fill函数,只能使用数据库已经存在的真实的表,如 表A、表B这种,对于窗口表,比如 窗口1_Tabl1 这种,不能直接用。

 

再有,你写错了代码

 

Tables(e.Form.Name & "_Table1").Fill("***** [_Identify],[规格型号],[封装_类型],[封装_引脚],[采购数量],[单价_物资单价] From {" & tnm & "}",False)


--  作者:5159518
--  发布时间:2016/4/1 15:34:00
--  
那么,老师,要实现我的要求,应该怎么办呢?
--  作者:大红袍
--  发布时间:2016/4/1 15:36:00
--  

必须保存为数据表。你可以导出为文件,然后把文件导入,生成表格。