以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]后台写入 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83818) |
-- 作者:husl -- 发布时间:2016/4/17 21:07:00 -- [求助]后台写入 If e.DataCol.Name = "确认入库" Then Dim dr As DataRow Dim filter1 As String Dim filter2 As String Dim filter As String = "1=1" If e.DataRow.isnull("品名") = False Then filter &= " and 品名 = \'" & e.DataRow("品名") & "\'" End If If e.DataRow.isnull("批号") = False Then filter &= " and 批号 = \'" & e.DataRow("批号") & "\'" End If If e.DataRow.isnull("物料编码") = False Then filter &= " and 物料编码 = \'" & e.DataRow("物料编码") & "\'" End If filter1 = filter & " and [库位] = \'" & e.DataRow("库位") & "\' and [货权] = \'" & e.DataRow("货权") & "\'" filter2 = filter & " and [库位] = \'" & e.DataRow("库位") & "\' and [货权] = \'" & e.DataRow("货权") & "\' and [日期]=\'" & Date.today & "\'" dr = DataTables("总库存表").SQLFind(Filter1 ) If dr IsNot Nothing Then Dim Sum1 As Single=DataTables("入库明细表").SQLCompute("Sum(入库重量)",filter2) dr.SQLSetValue("今日入库",sum1) Else If dr Is Nothing And e.DataRow("品名")<>Nothing And e.DataRow("确认出入库")=True Then \'如果没找到 Dim R4 As Row =Tables("总库存表").AddNew R4("品名") = e.DataRow("品名") R4("批号") = e.DataRow("批号") R4("物料编码") = e.DataRow("物料编码") R4("库位") = e.DataRow("库位") R4("货权") = e.DataRow("货权") R4("今日入库")= e.DataRow("入库重量") DataTables("总库存表").Save End If End If End If 老师好,麻烦帮我看下这段代码为什么 dr.SQLSetValue("今日入库",sum1)写入不了后台呢?
|
-- 作者:大红袍 -- 发布时间:2016/4/17 21:55:00 -- SqlFind得到的DataRow不能那样用。
要这样
Dim Sum1 As Single=DataTables("入库明细表").SQLCompute("Sum(入库重量)",filter2) dr("今日入库") = sum1
dr.Save
|
-- 作者:husl -- 发布时间:2016/4/17 22:10:00 -- 谢谢大红袍老师!~~~万分感谢。 |
-- 作者:husl -- 发布时间:2016/4/17 22:23:00 -- …………为什么还是写不进去 呢。。如果没有找到 倒是可以执行新增…… 找到的话就执行不了。
|
-- 作者:husl -- 发布时间:2016/4/17 22:26:00 -- 我写了个 dr("今日入库")=Nothing 测试一下。就找不到刚刚新增写入的这一行了。 |
-- 作者:husl -- 发布时间:2016/4/17 22:29:00 -- 明白了,是因为我新增入库的时候 新增行没有保存。数据库还没有这一行信息~~ |