Foxtable(狐表)用户栏目专家坐堂 → appendload错误咨询


  共有2394人关注过本帖树形打印复制链接

主题:appendload错误咨询

帅哥哟,离线,有人找我吗?
jackchan120925
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
appendload错误咨询  发帖心情 Post By:2019/4/9 14:27:00 [只看该作者]


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

请问如上代码,设置在 datacolchanged事件中,为何执行到箭头所指的appendload语句就报错,对象不存在。谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/9 14:57:00 [只看该作者]

 

代码应该没问题的,请做一个出错的例子发上来测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
jackchan120925
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2019/4/9 21:13:00 [只看该作者]

是指把项目发布好打包上来吗?我发现appendload在操作都报错


图片点击可在新窗口打开查看此主题相关图片如下:aa错误2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:aa错误.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 21:23:00 [只看该作者]

这种用法请放到按钮里。不在表事件里加载自己,容易出问题

 回到顶部
帅哥哟,离线,有人找我吗?
jackchan120925
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2019/4/9 21:33:00 [只看该作者]

那请问这里的用法又错在哪里呢?我是方在按钮里的。

Dim st As String = e.Form.Controls("TextBox1").value
If st="" Then
    
    messagebox.show("请输入导入批次号")
    Return
    
End If

Dim drs As List (of DataRow) = DataTables("中外运理货表").sqlSelect("操作_导入批次='"  & st & "' and 操作_状态= '理货前-新增'")



Tables("中外运理货表").StopRedraw
If drs.count>0 Then
    
    For Each dr As DataRow In drs
        Dim dr1 As DataRow =  DataTables("中外运考拉货品信息").SQLFind("商品条形码='" & dr("理论条形码") & "'")
        Dim dr2 As DataRow =  DataTables("中外运考拉货品信息").SQLFind("商品条形码='" & dr("理论PZ码") & "'")
        Dim tm As String = ""
        
        If dr1 IsNot Nothing Then
            tm = dr1("商品条形码")
            dr("理货中_WMS中匹配条码")= tm
            dr("理货中_长")=dr1("长")
            dr("理货中_宽")=dr1("宽")
            dr("理货中_高")=dr1("高")
            dr("理货中_净重")=dr1("重量")
            
        ElseIf dr2 IsNot Nothing Then
            tm  = tm & "|" & dr2("商品条形码")
            
            
            dr("理货中_WMS中匹配条码")=  tm.TrimStart("|")
            dr("理货中_长")=dr1("长")
            dr("理货中_宽")=dr1("宽")
            dr("理货中_高")=dr1("高")
            dr("理货中_净重")=dr1("重量")
            
            
        Else
            
            
            dr("理货中_WMS中匹配条码")=  Nothing
            dr("理货中_长")=Nothing
            dr("理货中_宽")=Nothing
            dr("理货中_高")=Nothing
            dr("理货中_净重")=Nothing
            
        End If
        dr("操作_状态")="理货前-已匹配系统内部产品信息"
        dr.locked=True
        dr.save
        
        
        
    Next
    
    
    
    
End If
messagebox.show("1")

Tables("中外运理货表").ResumeRedraw
DataTables("中外运理货表").RemoveFor("操作_导入批次='"  & st & "' and 操作_状态='理货前-已匹配系统内部产品信息'")
messagebox.show("2")

DataTables("中外运理货表").AppendLoad("操作_导入批次='"  & st & "' and 操作_状态='理货前-已匹配系统内部产品信息'")
DataTables("中外运理货表").save


图片点击可在新窗口打开查看此主题相关图片如下:aa错误2.png
图片点击可在新窗口打开查看



还有一个问题是:针对第一次的错误,如果我有一张表,有一列批次,一列状态,状态是个项目列表A,B,C. 如果设置某一行的状态值,那么所有批次相同的行也随之变成这一个状态值,请问有啥高效的方法吗?


[此贴子已经被作者于2019/4/9 21:36:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 21:38:00 [只看该作者]

先保存,再加载

DataTables("中外运理货表").save

DataTables("中外运理货表").RemoveFor("操作_导入批次='"  & st & "' and 操作_状态='理货前-已匹配系统内部产品信息'")
messagebox.show("2")

DataTables("中外运理货表").AppendLoad("操作_导入批次='"  & st & "' and 操作_状态='理货前-已匹配系统内部产品信息'")

 回到顶部
帅哥哟,离线,有人找我吗?
jackchan120925
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2019/4/9 21:41:00 [只看该作者]

这是什么原理呢?保存的话我在前面的循环代码里面有 dr.save啊? 测试了还是报错


我测试了下,如果把 appendload(filter, false) 这样就能避免报错,但是这样的话值也没有修改就变成了
[此贴子已经被作者于2019/4/9 22:05:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 22:12:00 [只看该作者]

可能有其它代码影响到了。做个测试例子上传看看

 回到顶部
帅哥哟,离线,有人找我吗?
jackchan120925
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2019/4/9 22:16:00 [只看该作者]

我刚测成功了,做了如下修改 

Tables("中外运理货表").ResumeRedraw
DataTables("中外运理货表").RemoveFor("操作_导入批次='"  & st & "'")


DataTables("中外运理货表").AppendLoad("操作_导入批次='"  & st & "'")
DataTables("中外运理货表").save

有几个问题请加下。

如果直接利用select语句中的update,delete,或者 sqlreplacefor,是不是直接就从后台删除修改数据,并且自动就保存了在后台了修改后的结果
单如果是利用 sqlselect或者sqlfind等引用的后台数据,修改后是否需要执行save命令才会真正吧结果保存到后台啊?
[此贴子已经被作者于2019/4/9 22:18:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 22:22:00 [只看该作者]

以下是引用jackchan120925在2019/4/9 22:16:00的发言:

有几个问题请加下。

如果直接利用select语句中的update,delete,或者 sqlreplacefor,是不是直接就从后台删除修改数据,并且自动就保存了在后台了修改后的结果
单如果是利用 sqlselect或者sqlfind等引用的后台数据,修改后是否需要执行save命令才会真正吧结果保存到后台啊?
[此贴子已经被作者于2019/4/9 22:18:49编辑过]

是的

 回到顶部