Foxtable(狐表)用户栏目专家坐堂 → 读取表数据条件


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

主题:读取表数据条件

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
读取表数据条件  发帖心情 Post By:2020/6/11 18:40:00 [只看该作者]

老师,能帮忙看看这段吗?如果在执行红色代码前能增加一个条件吗?
比如 添加一个 订单性质列为自营内容才执行,为什么不对呢

For Each ndr As DataRow In dt_cwhz.Select("")
    Dim i As Integer = ndr("年份")
    Dim j As Integer = ndr("月份")
    If i > 0 AndAlso j > 0 Then
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "业务往来_订单日期>= #" & d & "# and 业务往来_订单日期< #" & d.AddMonths(1) & "#"
        
        If e.DataRow("业务往来_订单性质")  = "自营"  Then
            
            ndr("经营_增加销售") = val(dt_ddfb.compute("sum(订单核算_合计)", filter))
            ndr("经营_增加利润") = val(dt_ddfb.compute("sum(订单核算_毛利)", filter))
            ndr("经营_税费") = val(dt_ddfb.compute("sum(订单核算_增值税费)", filter))
            ndr("经营_返点") = val(dt_ddfb.compute("sum(订单核算_合计返点)", filter))
            ndr("经营_运费") = val(dt_ddfb.compute("sum(订单核算_运费)", filter))
            
            ndr("负债_对公增加") = val(dt_ddfb.compute("sum(订单核算_采购合计)", filter))
            
            filter = "回款日期 >= #" & d & "# and 回款日期 < #" & d.AddMonths(1) & "#"
            ndr("经营_回收货款") = val(dt_hkjl.compute("sum(收款金额)", filter))
        End If
        
        
        'Dim afdr As DataRow = dt_tzjl.Find(filter, "记录参数_操作时间 desc,[_Identify] desc")
        filter = "记录参数_操作时间 >= #" & d & "# and 记录参数_操作时间 < #" & d.AddMonths(1) & "#"
        ndr("投资_增加金额") = val(dt_tzjl.compute("sum(购入_增投合计)", filter))
        ndr("投资_减少金额") = val(dt_tzjl.compute("sum(售出_撤资合计)", filter))
        Dim afdr As DataRow = dt_tzjl.Find(filter, "记录参数_操作时间 desc,[_Identify] desc")
        
        filter = "收益日期 >= #" & d & "# and 收益日期 < #" & d.AddMonths(1) & "#"
        ndr("投资_其它收益") = val(dt_tzsy.compute("sum(收益金额)", filter))
        Dim afdra As DataRow = dt_tzsy.Find(filter, "收益日期 desc,[_Identify] desc")
        
        filter = "项目信息_更新日期 >= #" & d & "# and 项目信息_更新日期 < #" & d.AddMonths(1) & "#"
        'Dim afdrb As DataRow = dt_hqsj.Find(filter, "项目信息_更新日期 desc,[_Identify] desc")
        Dim afdrb As DataRow = dt_hqsj.Find(filter, "项目信息_更新日期 desc,[_Identify] desc,项目信息_变动编号 desc")
        If afdrb IsNot Nothing Then
            ndr("投资_溢价收益") = afdrb("核算记录_溢价收益")
            ndr("投资_在运资金") = afdrb("核算记录_在投资金")
        Else
            ndr("投资_溢价收益") = 0
            ndr("投资_在运资金") = 0
        End If

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


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

if e.DataRow("业务往来_订单性质")  = "自营"  Then

改为

if ndr("业务往来_订单性质")  = "自营"  Then

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/6/12 15:21:00 [只看该作者]

老师 能在帮忙看看吗?还是不对,就是让订单附表 的业务往来_订单性质内容为自营才执行下面的代码,如果不是就不执行。感谢 感谢 

For Each ndr As DataRow In dt_cwhz.Select("")
    Dim i As Integer = ndr("年份")
    Dim j As Integer = ndr("月份")
    If i > 0 AndAlso j > 0 Then
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "业务往来_订单日期>= #" & d & "# and 业务往来_订单日期< #" & d.AddMonths(1) & "#"
        
        If Tables("订单附表")Compute("业务往来_订单性质")  = "自营"  Then   '订单附表是被读取的表,

            ndr("经营_增加销售") = val(dt_ddfb.compute("sum(订单核算_合计)", filter))
            ndr("经营_增加利润") = val(dt_ddfb.compute("sum(订单核算_毛利)", filter))
            ndr("经营_税费") = val(dt_ddfb.compute("sum(订单核算_增值税费)", filter))
            ndr("经营_返点") = val(dt_ddfb.compute("sum(订单核算_合计返点)", filter))
            ndr("经营_运费") = val(dt_ddfb.compute("sum(订单核算_运费)", filter))
            
            ndr("负债_对公增加") = val(dt_ddfb.compute("sum(订单核算_采购合计)", filter))
            
            filter = "回款日期 >= #" & d & "# and 回款日期 < #" & d.AddMonths(1) & "#"
            ndr("经营_回收货款") = val(dt_hkjl.compute("sum(收款金额)", filter))
        End If
[此贴子已经被作者于2020/6/12 15:21:19编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/6/12 15:39:00 [只看该作者]

或者可以这个样子吗?老师,在被读取的后面加上一天条件。比如蓝色的代码,后面可以加一个条件吗
For Each ndr As DataRow In dt_cwhz.Select("")
    Dim i As Integer = ndr("年份")
    Dim j As Integer = ndr("月份")
    If i > 0 AndAlso j > 0 Then
        Dim d As Date = new Date(i, j, 1)
        Dim filter As String = "业务往来_订单日期>= #" & d & "# and 业务往来_订单日期< #" & d.AddMonths(1) & "#"
        
      

            ndr("经营_增加销售") = val(dt_ddfb.compute("sum(订单核算_合计)", filter))
            ndr("经营_增加利润") = val(dt_ddfb.compute("sum(订单核算_毛利)", filter) and Compute("业务往来_订单性质")  = "自营"  Then)
            ndr("经营_税费") = val(dt_ddfb.compute("sum(订单核算_增值税费)", filter))
            ndr("经营_返点") = val(dt_ddfb.compute("sum(订单核算_合计返点)", filter))
            ndr("经营_运费") = val(dt_ddfb.compute("sum(订单核算_运费)", filter))
            
            ndr("负债_对公增加") = val(dt_ddfb.compute("sum(订单核算_采购合计)", filter))
            
            filter = "回款日期 >= #" & d & "# and 回款日期 < #" & d.AddMonths(1) & "#"
            ndr("经营_回收货款") = val(dt_hkjl.compute("sum(收款金额)", filter))
       

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/12 15:58:00 [只看该作者]

Dim filter As String = "业务往来_订单日期>= #" & d & "# and 业务往来_订单日期< #" & d.AddMonths(1) & "# and 业务往来_订单性质='自营'"

 回到顶部