以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何生成分录?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176862)

--  作者:lgz518
--  发布时间:2022/4/28 23:35:00
--  如何生成分录?
如何根据《表A》“开始日期和结束日期,天数”生成分录,如《表B》?

图片点击可在新窗口打开查看此主题相关图片如下:生成记录.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/4/29 8:38:00
--  
dim r as row = tables("表A").current
dim d1 as date = r("开始日期")
dim d2 as date = r("结束日期")
dim 数量 as double = r("数量") / r("天数") 
dim nr as row
do while d1<=d2
nr = tables("表B").addnew
nr("产品") = r("产品") 
nr("加工") = d1
nr("数量") = 数量
d1 = d1.adddays(1)
loop
[此贴子已经被作者于2022/4/29 8:38:57编辑过]

--  作者:lgz518
--  发布时间:2022/4/29 13:13:00
--  
Dim drs As List(Of DataRow)
   
 For i As Integer = 0 To drs.Count - 1 
    
Do While d1 <= d2
nr = Tables("表F").addnew
nr("产品") = r("产品") 
nr("加工") = d1
nr("数量") = 数量
d1 = d1.adddays(1)
Loop

Next

执行报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.4.30.8
错误所在事件:窗口,生成分录,Button2,Click
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:有点蓝
--  发布时间:2022/4/29 13:41:00
--  
drs变量是一个空的集合,什么都没有
--  作者:lgz518
--  发布时间:2022/4/29 15:16:00
--  
Dim r As Row = Tables("表E").current
Dim d1 As Date = r("开始日期")
Dim d2 As Date = r("结束日期")
Dim 数量 As Double = r("数量") / r("天数") 
Dim nr As Row 
 
Dim drs As List(Of DataRow)
  drs = DataTables("表E").Select("[产品编号] = \'产品编号\' And [天数]= \'天数\'") 
 For i As Integer = 0 To drs.Count - 1 
    
Do While d1 <= d2
nr = Tables("表F").addnew
nr("产品") = r("产品") 
nr("加工") = d1
nr("数量") = 数量
d1 = d1.adddays(1)
Loop

Next

老师,2楼是单条,想批量,或条件是条件是选中,进行批量生成,用红字代码,遍历,不执行,如何解决,请您纠正,谢谢

--  作者:有点蓝
--  发布时间:2022/4/29 15:33:00
--  
for each r as row in Tables("表E").rows
dim d1 as date = r("开始日期")
dim d2 as date = r("结束日期")
dim 数量 as double = r("数量") / r("天数") 
dim nr as row
do while d1<=d2
nr = tables("表B").addnew
nr("产品") = r("产品") 
nr("加工") = d1
nr("数量") = 数量
d1 = d1.adddays(1)
loop
next