Foxtable(狐表)用户栏目专家坐堂 → 关于流水账


  共有3194人关注过本帖平板打印复制链接

主题:关于流水账

美女呀,离线,留言给我吧!
信达
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:183 积分:1320 威望:0 精华:0 注册:2014/11/22 18:33:00
关于流水账  发帖心情 Post By:2015/1/14 16:05:00 [只看该作者]

老师,关于流水账的设计,如果要给库存设定一个初始值,而这个初始值来自于A表的B列,怎么改啊?

Select Case e.DataCol.Name
Case
"产品","入库","出库"
Dim
dr As DataRow
Dim
mr As DataRow = e.DataRow
Dim
drs As List(of DataRow)
dr
= e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [产品] = '" & mr("产品") & "'", "[_SortKey] Desc"
)
If
dr Is Nothing Then
mr
("库存") = mr("入库") - mr("出库"
)
dr
=
mr
End If

drs
= e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [产品] = '" & dr("产品") & "'"
, "[_SortKey]")
For
i As Integer = 1 To drs.Count - 1
drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库")
Next
If
e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
dr
= e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [产品] = '" & e.OldValue & "'", "[_SortKey] Desc"
)
If
dr Is Nothing Then
dr
= e.DataTable.Find("[产品] = '" & e.OldValue & "'", "[_SortKey]"
)
If
dr IsNot Nothing Then
dr
("库存") = dr("入库") - dr("出库"
)
End If
End If
If
dr IsNot Nothing Then
drs
= e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [产品] = '" & dr("产品") & "'"
, "[_SortKey]")
For
i As Integer = 1 To drs.Count - 1
drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库")
Next
End If
End If
End Select

 回到顶部