以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]删除两个临时表出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178051)

--  作者:2425004926
--  发布时间:2022/6/16 0:42:00
--  [求助]删除两个临时表出错

这是窗口的AfterLoad事件,增加了两个临时表

\'增加临时表==============================================

\'------------------------------------------------------ 报表所有列
Dim dt1 As New DataTableBuilder("
报表所有列")
dt1.AddDef("
列标题", Gettype(String), 16)
dt1.AddDef("
列名称", Gettype(String), 50)
dt1.Build()
Tables("
报表所有列").Visible = True
\'------------------------------------------------------
报表打印列
Dim dt2 As New DataTableBuilder("
报表打印列")
dt2.AddDef("
列标题", Gettype(String), 16)
dt2.AddDef("
列宽", Gettype(Integer))
dt2.AddDef("
左中右", Gettype(String), 16)
dt2.AddDef("
列名称", Gettype(String), 50)
dt2.Build()
Tables("
报表打印列").Visible = True

\'
绑定表================================================
Tables(e.Form.name & "_table1").DataSource = DataTables("
报表所有列")
Tables(e.Form.name & "_table2").DataSource = DataTables("
报表打印列")

 

这是窗口的AfterClose事件,删除两个临时表

If DataTables.Contains("报表打印列")  Then
    DataTables.Unload("
报表打印列")
End If
If DataTables.Contains("
报表所有列")  Then
    DataTables.Unload("
报表所有列")
End If

 

如果增加表不绑定,关闭窗口后删除两个表没有问题,

绑定两个表,关闭窗口后删除任何一个表也没问题,但删两个表时总报错,提示没有这个表

 

[此贴子已经被作者于2022/6/16 0:42:56编辑过]

--  作者:有点蓝
--  发布时间:2022/6/16 9:01:00
--  
不需要卸载,不要生成到主表区,正确用法

AfterLoad事件,增加了两个临时表

\'增加临时表==============================================

\'------------------------------------------------------ 报表所有列
Dim dt1 As New DataTableBuilder("
报表所有列")
dt1.AddDef("
列标题", Gettype(String), 16)
dt1.AddDef("
列名称", Gettype(String), 50)
Tables(e.Form.name & "_table1").DataSource = dt1.Build
DataSource()

\'------------------------------------------------------ 报表打印列
Dim dt2 As New DataTableBuilder("
报表打印列")
dt2.AddDef("
列标题", Gettype(String), 16)
dt2.AddDef("
列宽", Gettype(Integer))
dt2.AddDef("
左中右", Gettype(String), 16)
dt2.AddDef("
列名称", Gettype(String), 50)
Tables(e.Form.name & "_table2").DataSource = dt2.Build
DataSource()