以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [Bug]停靠窗口或主窗口 和 Tables("窗口1_table1").DataSource 存在 BUG?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34188)

--  作者:don
--  发布时间:2013/6/1 23:59:00
--  [Bug]停靠窗口或主窗口 和 Tables("窗口1_table1").DataSource 存在 BUG?
文件中 ===> [电镀表]有[窗口1](为停靠窗口),[窗口1]有[Table1],AfterLoad事件和窗口按钮的代码一样  ===> 
窗口打开时,AfterLoad事件 正常发挥作用 ===> 再点击窗口的[三表合并]按钮 ===> 报错详见图!


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:pp.table



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

经反复试验得出:

1.如窗口为停靠窗口或主窗口===> 自定义函数  后面加上 ===> Tables("窗口1_table1").DataSource  = DataTables("统计") ===> 报错!

2.如窗口为停靠窗口或主窗口===> 自定义函数 后面去掉 ===> Tables("窗口1_table1").DataSource  = DataTables("统计") ===> 正常!  

3.如窗口不是停靠窗口或主窗口===> 自定义函数 后面加上 ===> Tables("窗口1_table1").DataSource  = DataTables("统计") ===>  正常!  


结论: 停靠窗口或主窗口Tables("窗口1_table1").DataSource  存在 BUG!
       (自定义函数较复杂)
  

--  作者:fjlclxj
--  发布时间:2013/6/2 0:07:00
--  
还在纠结这个毛胚电镀表啊啊啊啊图片点击可在新窗口打开查看
--  作者:fjlclxj
--  发布时间:2013/6/2 0:22:00
--  

奇怪,提示找不到dtb1,明明全局变量声明了

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-6-2 0:27:21编辑过]

--  作者:don
--  发布时间:2013/6/2 0:27:00
--  
以下是引用fjlclxj在2013-6-2 0:22:00的发言:
奇怪,提示找不到dtb1,明明全局变量声明了
呵呵,我和老兄不同,我这里提示 : 统计不存在[电镀_数量]列!
如窗口改为独立或模式窗口,什么事也没有!

[此贴子已经被作者于2013-6-2 0:28:05编辑过]

--  作者:don
--  发布时间:2013/6/2 0:34:00
--  
以下是引用fjlclxj在2013-6-2 0:22:00的发言:

奇怪,提示找不到dtb1,明明全局变量声明了

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-6-2 0:27:21编辑过]


呵呵,搞错了,这个应该是在下面[hbsb]中的,已重传文件,并不影响一楼反映的问题!

[此贴子已经被作者于2013-6-2 0:42:38编辑过]

--  作者:don
--  发布时间:2013/6/2 23:40:00
--  
顶!
--  作者:狐狸爸爸
--  发布时间:2013/6/3 7:31:00
--  
呵呵,收到,我检查一下。
--  作者:gsnake
--  发布时间:2013/6/3 21:28:00
--  
好像狐爸对 临时表的“雾化“ 不好??!还是有其他原因??

把第二个 ”统计“ 生成 改为 ”统计1“   源 也改一下 “统计1”

就正常了,这是您上次给我的东西,我也是这样搞的!不知为什么,dt1.show(“统计")  

我还没搞明白,就是两个 统计 的问题!!你搞明白告诉我!!!

好像是你命名乱,有点问题
[此贴子已经被作者于2013-6-3 21:40:39编辑过]

--  作者:don
--  发布时间:2013/6/3 23:18:00
--  
以下是引用gsnake在2013-6-3 21:28:00的发言:
好像狐爸对 临时表的“雾化“ 不好??!还是有其他原因??

把第二个 ”统计“ 生成 改为 ”统计1“   源 也改一下 “统计1”

就正常了,这是您上次给我的东西,我也是这样搞的!不知为什么,dt1.show(“统计")  

我还没搞明白,就是两个 统计 的问题!!你搞明白告诉我!!!

好像是你命名乱,有点问题
[此贴子已经被作者于2013-6-3 21:40:39编辑过]


不明?這樣??我改了一樣
dt1.show("统计1")
t1 =Tables("统计1")

說說我的思路:

1.為可用有重複日期列作為組合條件,加了ID列,以日期,ID作為組合條件(無條件主創造條件)
2.因fxDataSource對象不可編輯,因此先dt1.show(“统计") 成一個Table,利用這個Table編輯ID列
3.又因fxDataSource對象無法直接綁定DataTable,唯有用分組統計重複生成fxDataSource對象,後綁定
4.組合3個對象後重新在Tables("統計")show出結果,匯總 ==> 綁定到窗口

[此贴子已经被作者于2013-6-3 23:30:29编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/6/4 20:34:00
--  

研究了一下,这个不能算是bug,因为窗口表已经绑定到了统计表,第二次单击按钮的时候,在没有取消绑定的情况下,统计表被重新生成,很容易导致出错。

 

要避免这个问题,可以将按钮代改为:

 

 

Tables("窗口1_Table1").StopRedraw
Functions.Execute("hbsb")
Tables("窗口1_Table1").ResumeRedraw