以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口datatables  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123810)

--  作者:yetle
--  发布时间:2018/8/23 15:38:00
--  窗口datatables
窗口“采购需求计算”,表“table3
Dim nr = DataTables("采购需求计算_table3").find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")

为什么提示找不到采购需求计算_table3呢

--  作者:有点蓝
--  发布时间:2018/8/23 15:51:00
--  
副本才是:采购需求计算_table3,不是的话请直接使用主表名称即可
--  作者:yetle
--  发布时间:2018/8/23 16:40:00
--  
是副本呢
--  作者:有点蓝
--  发布时间:2018/8/23 16:51:00
--  
窗口有打开吗?
--  作者:yetle
--  发布时间:2018/8/23 16:54:00
--  
有 的,另外怎么又弹出一个错误
图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/8/23 16:55:11编辑过]

--  作者:有点蓝
--  发布时间:2018/8/23 16:56:00
--  
上传实例看看
--  作者:yetle
--  发布时间:2018/8/23 17:02:00
--  
最好远程看看,我搜索论坛他们也有这种情况
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=52791&replyID=&skin=1
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=34786&replyID=&skin=1



把afterload代码清除,保存,再把代码复制进去又没报这个错了



上面我aferload都有存在Tables("采购需求计算_table3").Sort = "物料基本信息_物料ID"
但我在按钮click写:
        Dim nr = DataTables("采购需求计算_table3").find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")
        If nr Is Nothing Then nr = DataTables("采购需求计算_table3").addnew

又说找不到DataTables("采购需求计算_table3")

帮助有写到:

也可以通过Table的DataTable属性返回其对应的DataTable,例如:

Tables("窗口1_Table1").DataTable.Load()


是不是跟这个有关系

[此贴子已经被作者于2018/8/23 17:23:32编辑过]

--  作者:有点蓝
--  发布时间:2018/8/23 17:28:00
--  
恩,没注意。

副本的DataTable也是直接使用主表名称,或者

Dim nr = Tables("采购需求计算_table3").datatable.find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")
        If nr Is Nothing Then nr = Tables("采购需求计算_table3").datatable.addnew

--  作者:yetle
--  发布时间:2018/8/23 17:34:00
--  
        Dim nr = Tables("采购需求计算_table3").DataTable.find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")
但是我这样写后,数据表的对象就变成table3绑定的表,我的目的是要取数据表的对象为窗口表的副本

可能这么说不好理解,我解释一下:

窗口:采购需求计算,窗口表:table3绑定表:大货用料表
我想单独对窗口表:table3操作,而不是对绑定的表操作

代码如下:
For Each ar As Row In Tables("大货用料表").rows    

        Dim nr = Tables("采购需求计算_table3").DataTable.find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")
        If nr Is Nothing Then nr = Tables("采购需求计算_table3").DataTable.addnew
        nr("物料基本信息_物料ID") = ar("物料基本信息_物料ID")
Next

其实我是想要:
For Each ar As Row In Tables("大货用料表").rows    

        Dim nr = Tables("采购需求计算_table3").find("物料基本信息_物料ID=\'" & ar("物料基本信息_物料ID") & "\'")
        If nr Is Nothing Then nr = Tables("采购需求计算_table3").addnew
        nr("物料基本信息_物料ID") = ar("物料基本信息_物料ID")
Next

可是find不支持tables
[此贴子已经被作者于2018/8/23 17:45:02编辑过]

--  作者:有点蓝
--  发布时间:2018/8/23 20:05:00
--  
副本直接保存即可,上面的代码都是多余的,没有必要自己给自己再赋值一次