以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 查看窗口为什么有的窗口不能加载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110842) |
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 7:40:00 -- 查看窗口为什么有的窗口不能加载 老师,在一个窗口中同时要加载这几个表,加载的代码如下,相同的代码,为什么2,3,4报表有时候能加载,有时不能加载,而1,5,6却随时能加载出来数据。 \'收集并填充字段内容 Dim dst As Table = Tables("基础配方列表_Table1") Dim dr As Row = dst.Current \'获得选定行 vars("str1") = dr("bomid") \'保存原货品单号,确保变更后可以删除原记录 \'生成出入库明细数据 DataTables("l_goodsbompfxx").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbompfxx").Load(False) DataTables("l_goodsbomnew").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbomnew").Load(False) DataTables("l_goodsbomgxyq").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbomgxyq").Load(False) DataTables("l_goodsbomxmgl").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbomxmgl").Load(False) DataTables("l_goodsbomcjgl").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbomcjgl").Load(False) DataTables("l_goodsbombzyq").LoadFilter = "[bomid] = " & vars("str1") DataTables("l_goodsbombzyq").Load(False) |
||||
-- 作者:有点甜 -- 发布时间:2017/12/11 8:41:00 -- 删除其余加载代码,只写下面的代码,能否正常加载?
DataTables("l_goodsbomnew").LoadFilter = "[bomid] = " & vars("str1")
DataTables("l_goodsbomnew").LoadTop = ""
DataTables("l_goodsbomnew").LoadPage = 0
DataTables("l_goodsbomnew").Load(False)
|
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 9:10:00 -- 老师,情况 还是一样的。 我这个也不是每次都不能加载,有时能加载,点开表上就有内容,有时就不能加载。 如果不能加载的时候是表2,3,4的内容都一起不能加载显示数据,但是表1,5,6到了每次都正常显示数据。 如果不加载,在那个列表窗口刷新几下,再点查看这个窗口,窗口中的表就加载上了。 基本上有一半的时候不能加载上数据。
|
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 9:11:00 -- 用了您的代码,那个表还是有时点开有内容,有时点开没有内容。 |
||||
-- 作者:有点甜 -- 发布时间:2017/12/11 9:44:00 -- 不可能。执行下面代码看弹出什么
DataTables("l_goodsbomnew").LoadFilter = "[bomid] = " & vars("str1")
msgbox(DataTables("l_goodsbomnew").LoadFilter)
DataTables("l_goodsbomnew").LoadTop = ""
DataTables("l_goodsbomnew").LoadPage = 0
DataTables("l_goodsbomnew").Load
|
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 10:01:00 -- 老师,出来显示BOMID = (对应选择行的ID号),这个没有错,但是就是不出来数。 到处检查了都没反现问题,除这三个表外,其他几个同在这个窗口中的表都能正确加载数据。 这三个表是如果不加载就都不加载,如果加载就都全加载了。 老师,我把文件传上来,麻烦老师帮我看一下。
|
||||
-- 作者:有点甜 -- 发布时间:2017/12/11 10:07:00 -- 看看表格的beforeLoad事件、afterLoad事件有什么代码影响。
如果还有问题,做个例子发上来测试。 |
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 10:50:00 --
老师版本为开发版最新版,数据库为SQL2005, 在列表窗口新增加的清单资料,保存后点查看(或修改时),在查看或修改窗口中有时能查看到窗口中(Table1,Table2,Table3)的数据,有时不能看到, 其他Table的数据每次点开都能看到。如果不能看到的时候,关掉修改或查看窗口,点几下列表窗口的重置,再点查看或修改,调出的窗口就能看到了。 另外,如果在列表窗口中点击的是修改按钮,如果窗口中(Table1,Table2,Table3)的数据不显示的话,在修改窗口中点击了“保存”按钮,却该三个窗口中Table表对应的数据库下的字段(l_goodsbomnew,.....),这三个对应的表的数据就会全清空丢失了。 请老师帮检查一下。
|
||||
-- 作者:有点甜 -- 发布时间:2017/12/11 11:34:00 -- 呃....你写了下面的代码,【窗口ckpf 控件TextBox7 事件ValueChanged】
With e.form.controls("Table1").Table
|
||||
-- 作者:hopestarxia -- 发布时间:2017/12/11 12:20:00 -- 谢谢老师,老师太强大了。 我这个代码最早是加在新增窗口用的, 为了是如果在新增时发现产品选择错了,却重选产品就把对应的清单记录清除了。 后面新增窗口做好了,修改与查看窗口就是用新增窗口改的, 没想到那个语句造成了这么大的影响。我到位代码,包括表属性都去看,就是找不到问题:( 再请问老师,我那个语句在新增的那个窗口那里如果不去掉,会对数据造成影响吗? |