Foxtable(狐表)用户栏目专家坐堂 → 关于取值的代码


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

主题:关于取值的代码

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


加好友 发短信
等级:婴狐 帖子:2 积分:87 威望:0 精华:0 注册:2017/8/4 15:44:00
关于取值的代码  发帖心情 Post By:2017/10/13 16:11:00 [只看该作者]

在命令窗口测试的代码如下:
Dim aa As Integer =  CurrentTable.Position
Dim bb As String = Tables("原材料出库表").Rows(aa)("物料名称")
Dim cc As String = Tables("原材料出库表").Rows(aa)("领用日期")
output.show(bb)
output.show(cc)
Dim sum1 As Double = DataTables("原材料入库表").Compute("Sum(数量)", "物料名称 = '"& bb &"' and 日期 <= #"& cc &"# ")
Dim sum2 As Double = DataTables("原材料入库表").Compute("Sum(金额)", "物料名称 = '"& bb &"' and 日期 <= #"& cc &"# ")
output.show(sum1)
output.show(sum2)
Dim sum3 As Double = sum2 / sum1
output.show(sum3)
结果:
烧饼
2017-10-15
20
54
2.7
放到表事件后,计算的条件表达式里的bb和cc改成了新值zf1 和zf2后的代码:
Dim co1 As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
Select Case co1.Name
    Case "领用日期","物料代码"
        If dr.IsNull("物料代码") OrElse dr.IsNull("领用日期") Then '如果数量或单价为空
            dr("数量") = Nothing
            dr("单价") = Nothing
            dr("金额") = Nothing
        Else
            Dim zf1 As String = e.NewValue
            Dim zf2 As String = e.NewValue
            zf1 = dr("物料代码")
            zf2 = dr("领用日期")
            
            Dim sum1 As Double = DataTables("原材料入库表").Compute("Sum(数量)", "物料名称 = '"& zf1 &"' and 日期 <= #"& zf2 &"# ")
            Dim sum2 As Double = DataTables("原材料入库表").Compute("Sum(金额)", "物料名称 = '"& zf1 &"' and 日期 <= #"& zf2 &"# ")
            Messagebox.Show(sum1)
            Messagebox.Show(sum2)
            Dim sum3 As Double = sum2 / sum1
            dr("单价") = sum3
            Messagebox.Show(sum3)
        End If
End Select
运行后sum1和sum2没计算出结果,全是0。
请老师给看下这段代码吧,谢谢!!!!

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


加好友 发短信
等级:版主 帖子:43132 积分:216741 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/13 16:48:00 [只看该作者]

1、代码你写在什么事件?

 

2、加上代码,弹出 msgbox(zf1 & " " & zf2)


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


加好友 发短信
等级:婴狐 帖子:2 积分:87 威望:0 精华:0 注册:2017/8/4 15:44:00
  发帖心情 Post By:2017/10/13 16:53:00 [只看该作者]

我是写在DataColChanged里的,加上你那个msgbox(zf1 & " " & zf2)代码后能弹出来真确的字符了,但还是没引用 到那个DataTables("原材料入库表").Compute("Sum(数量)", "物料名称 = '"& bb &"' and 日期 <= #"& cc &"# ")这个里面,计算不出来数值,怎么回事呢老师?

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


加好友 发短信
等级:版主 帖子:43132 积分:216741 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/13 17:06:00 [只看该作者]

弹出这个值看看msgbox("物料名称 = '"& zf1 &"' and 日期 <= #"& zf2 &"# ")

 

看是否正确,如果条件正确,做个例子发上来测试。


 回到顶部