以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论]关于盘点赋值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142612) |
-- 作者:工匠 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/11/1 11:55:00 -- pr7("储位") = pr06("储位") pr7("负责人") = pr06("负责人") pr7("成本价") = pr06("成本价") pr7.save() msgbox("6") DataTables("产品资料").save() End If End If SQLFind查询出来的行是独立的,和DataTables("产品资料")是没有任何关系的,必须单独调用保存
|
-- 作者:工匠 -- 发布时间:2019/11/1 12:22:00 -- 谢谢老师,还是没能赋值,不知道什么原因,有点奇怪 |
-- 作者:有点蓝 -- 发布时间:2019/11/1 13:40:00 -- 如果所有的msgbox都能弹出来,不可能有问题 |
-- 作者:工匠 -- 发布时间:2019/11/1 15:39:00 -- 谢谢老师 1.删除项目BIN文件夹,从启项目,开始不会所有msgbox都弹出,没有赋值成功,重新打开代码事件随意滚动,然后保存,反复录入几次盘点数,又会弹出msgbox通过,而实际没有赋值成功. 后来每次都有提示找到:msgbox检查("找编码最后盘点时间盘点数量"),但是赋值报错 此主题相关图片如下:提示.jpg 11/201911115391042195.jpg" target="_blank" >11/201911115391042195.jpg" border="0" alt="按此在新窗口浏览图片" /> 代码; 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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/11/1 15:49:00 -- pr06 = DataTables("盘点记录").SQLFind("物料编码 = \'" & e.DataRow("物料编码") & "\'","盘点日期 DESC") |