Foxtable(狐表)用户栏目专家坐堂 → [讨论]关于盘点赋值


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

主题:[讨论]关于盘点赋值

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4848 威望:0 精华:0 注册:2017/4/20 11:08:00
[讨论]关于盘点赋值  发帖心情 Post By:2019/11/1 11:35:00 [只看该作者]

老师好
关于盘点记录对产品资料赋值,现在在盘点记录里每一步代码检查都有提示通过,但是最后产品资料对应物料编码列值确没有赋值成功,请老师帮看看,谢谢!

Select Case e.DataCol.Name
    
    Case "盘点数量","成本价","盘点行号","物料编码","库位","储位","负责人","盘点人","盘点备注"
        msgbox("1")
        
        e.DataRow("盘点金额") = e.DataRow("成本价") * e.DataRow("盘点数量")
        e.DataRow("盘点差异") = e.DataRow("盘点数量") - e.DataRow("账面数量")
        e.DataRow("仓库结存") = e.DataRow("盘点数量")
        msgbox("2")
        DataTables("盘点记录").save()

        Dim pr7 As DataRow        
        'pr7 =  DataTables("产品资料").Find("物料编码='" & e.NewValue & "'")
        pr7 =DataTables("产品资料").SQLFind("物料编码='" & e.DataRow("物料编码")  & "'")
        If pr7 IsNot Nothing Then
            msgbox("3")
            
            Dim pr06 As DataRow
            pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "' and [_identify] <> " & e.DataRow("_identify"),"盘点日期 desc")
            'pr6 =DataTables("盘点记录").Find("物料编码 ='" & e.DataRow("物料编码")  & "'")
            If pr06 IsNot Nothing Then
                msgbox("4")
                pr7("盘点数量") = pr06("盘点数量")
                msgbox("5")
                pr7("盘点金额") = pr06("盘点金额")
                pr7("盘点差异") = pr06("盘点差异")
                pr7("盘点备注") = pr06("盘点备注")
                pr7("盘点人") = pr06("盘点人")
                pr7("库位") = pr06("库位")
                pr7("储位") = pr06("储位")
                pr7("负责人") = pr06("负责人")
                pr7("成本价") = pr06("成本价")
                msgbox("6")
                DataTables("产品资料").save()
            End If
        End If
        
        
        Dim pr As DataRow
        pr = DataTables("盘点单").Find("盘点单号 = '" & e.DataRow("盘点单号") & "'")
        'DataTables("盘点单").DataCols("盘点单号").RaiseDataColChanged(pr)
        ''msgbox("7")
        'pr.save
        If pr IsNot Nothing Then
            
            pr("批次数量") = DataTables("盘点记录").sqlCompute("sum(盘点数量)","盘点单号 = '" & pr("盘点单号") & "'")
            pr("批次金额") = DataTables("盘点记录").sqlCompute("sum(盘点金额)","盘点单号 = '" & pr("盘点单号") & "'")
            pr("批次款数") = DataTables("盘点记录").sqlCompute("count(物料名称)","盘点单号 = '" & pr("盘点单号") & "'")        
            pr.save           
        End If
End Select


其中这段有提示通过但是实际没有赋值成功:
Dim pr06 As DataRow
            pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "' and [_identify] <> " & e.DataRow("_identify"),"盘点日期 desc")
            'pr6 =DataTables("盘点记录").Find("物料编码 ='" & e.DataRow("物料编码")  & "'")
            If pr06 IsNot Nothing Then
                msgbox("4")
                pr7("盘点数量") = pr06("盘点数量")
                msgbox("5")
                pr7("盘点金额") = pr06("盘点金额")
                pr7("盘点差异") = pr06("盘点差异")
                pr7("盘点备注") = pr06("盘点备注")
                pr7("盘点人") = pr06("盘点人")
                pr7("库位") = pr06("库位")
                pr7("储位") = pr06("储位")
                pr7("负责人") = pr06("负责人")
                pr7("成本价") = pr06("成本价")
                msgbox("6")
                DataTables("产品资料").save()
谢谢!

[此贴子已经被作者于2019/11/1 11:39:00编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

                pr7("储位") = pr06("储位")
                pr7("负责人") = pr06("负责人")
                pr7("成本价") = pr06("成本价")
pr7.save()
                msgbox("6")
                DataTables("产品资料").save()
            End If
        End If

SQLFind查询出来的行是独立的,和DataTables("产品资料")是没有任何关系的,必须单独调用保存

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4848 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/11/1 12:22:00 [只看该作者]

谢谢老师,还是没能赋值,不知道什么原因,有点奇怪


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

如果所有的msgbox都能弹出来,不可能有问题

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4848 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/11/1 15:39:00 [只看该作者]

谢谢老师
1.删除项目BIN文件夹,从启项目,开始不会所有msgbox都弹出,没有赋值成功,重新打开代码事件随意滚动,然后保存,反复录入几次盘点数,又会弹出msgbox通过,而实际没有赋值成功.
后来每次都有提示找到:msgbox检查("找编码最后盘点时间盘点数量"),但是赋值报错

代码;
Select Case e.DataCol.Name
    
    Case "盘点数量","成本价","盘点行号","物料编码" ,"库位","储位","负责人","盘点人","盘点备注"
        e.DataRow("盘点日期") = now()
        'msgbox("1")
        DataTables("盘点记录").save()
        e.DataRow("盘点金额") = e.DataRow("成本价") * e.DataRow("盘点数量")
        e.DataRow("盘点差异") = e.DataRow("盘点数量") - e.DataRow("账面数量")
        e.DataRow("仓库结存") = e.DataRow("盘点数量")
        'msgbox("2")
        DataTables("盘点记录").save()
        
        Dim pr7 As DataRow
        'pr7 =  DataTables("产品资料").Find("物料编码='" & e.NewValue & "'")
        pr7 =DataTables("产品资料").Find("物料编码='" & e.DataRow("物料编码")  & "'")
        If pr7 IsNot Nothing Then
        
        
        Dim pr06 As DataRow
        pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "'and [_identify] <> " & e.DataRow("_identify"),"盘点日期 DESC")
        'pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "'")
        msgbox("找编码最后盘点时间盘点数量")
        
        'If pr06 IsNot Nothing Then
        'msgbox("3")
        pr7("盘点数量") = pr06("盘点数量")
        
        msgbox("赋值")
        'pr7("盘点金额") = pr06("盘点金额")
        'pr7("盘点差异") = pr06("盘点差异")
        'pr7("盘点备注") = pr06("盘点备注")
        'pr7("盘点人") = pr06("盘点人")
        'pr7("库位") = pr06("库位")
        'pr7("储位") = pr06("储位")
        'pr7("负责人") = pr06("负责人")
        'pr7("成本价") = pr06("成本价")
        pr7.save()
        msgbox("保存产品资料行")
        
        End If
        
        Dim pr As DataRow
        pr = DataTables("盘点单").Find("盘点单号 = '" & e.DataRow("盘点单号") & "'")
        If pr IsNot Nothing Then
            
            pr("批次数量") = DataTables("盘点记录").sqlCompute("sum(盘点数量)","盘点单号 = '" & pr("盘点单号") & "'")
            pr("批次金额") = DataTables("盘点记录").sqlCompute("sum(盘点金额)","盘点单号 = '" & pr("盘点单号") & "'")
            pr("批次款数") = DataTables("盘点记录").sqlCompute("count(物料名称)","盘点单号 = '" & pr("盘点单号") & "'")
            pr.save
        End If
End Select


2.把   pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "'and [_identify] <> " & e.DataRow("_identify"),"盘点日期 DESC")
改为: pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "'")可以赋值成功,但是没有盘点日期为最后判断


[此贴子已经被作者于2019/11/1 15:41:57编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

pr06 = DataTables("盘点记录").SQLFind("物料编码 = '" & e.DataRow("物料编码") & "'","盘点日期 DESC")

 回到顶部