以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 找不到出错原因  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=112881)

--  作者:kinglw110
--  发布时间:2018/1/4 16:05:00
--  [求助] 找不到出错原因

图片点击可在新窗口打开查看此主题相关图片如下:1-4-1.png
图片点击可在新窗口打开查看


在切换页面时 提示错误 “不存在名称为**的表”  每个页面都有一个副表 绑定到“基本设定” 这个表面  副表的名称与页面的名称一致的   
SelectedIndexChanged 事件中代码
Dim pg As WinForm.TabControl = e.Form.Controls("页签")
Dim n As String = pg.SelectedPage.Text     \'定义n为当前页签的名称
Dim t As String = "设定_" & n
Tables(t).Filter = "类别 =\'" & n & "\'"

这个代码应该没有错吧,不知道问题出在哪,请老师帮忙看下

--  作者:有点甜
--  发布时间:2018/1/4 16:19:00
--  

试试改成

 

Dim pg As WinForm.TabControl = e.Form.Controls("页签")
Dim n As String = pg.SelectedPage.Text     \'定义n为当前页签的名称
e.form.controls(n).Table.Filter = "类别 =\'" & n & "\'"


--  作者:kinglw110
--  发布时间:2018/1/4 16:24:00
--  
可以使用,非常感谢

e.form.controls(n).Table  这个如何理解,不太明白 
副本表不都是窗口-表名的吗?

想打开窗口时显示模具负责人的窗口  在afterload 事件中如何写呢,
Tables("设定_模具负责人").Filter = "类别 = \'模具负责人\'"   这个写代码还是提示错误 
[此贴子已经被作者于2018/1/4 16:32:50编辑过]

--  作者:有点甜
--  发布时间:2018/1/4 16:45:00
--  
以下是引用kinglw110在2018/1/4 16:24:00的发言:
可以使用,非常感谢

e.form.controls(n).Table  这个如何理解,不太明白 
副本表不都是窗口-表名的吗?

想打开窗口时显示模具负责人的窗口  在afterload 事件中如何写呢,
Tables("设定_模具负责人").Filter = "类别 = \'模具负责人\'"   这个写代码还是提示错误 
[此贴子已经被作者于2018/1/4 16:32:50编辑过]

 

有可能你设置的不是副本,检查你的设置。

 

但这样写一定没问题,如

 

Forms("设定").controls("模具负责人").Table.Filter = "类别 = \'模具负责人\'"


--  作者:kinglw110
--  发布时间:2018/1/6 9:20:00
--  
已经找定原因所在了,是窗口的名称与标题不一样,代码采用了标题的名字所以出错