以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]利用Select方法查找指定条件的行不起作用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187255) |
-- 作者:tkxffb -- 发布时间:2023/7/3 21:23:00 -- [求助]利用Select方法查找指定条件的行不起作用 老师好,下面这段代码不起作用,请看一下,谢谢指教 Dim r As Row = Tables("日常采购统计表").Current \'----定义当前行 Dim dt As Date = r("录入日期") Dim m As Integer = dt.Month \'----获取指定日期的月份 Dim y As Integer = dt.Year \'----获取指定日期的年份 For Each dr1 As DataRow In DataTables("日常采购统计表").dataRows Dim dt1 As Date = dr1("录入日期") Dim m1 As Integer = dt1.Month Dim y1 As Integer = dt1.Year Dim drs As List(Of DataRow) = DataTables("日常采购统计表").Select(""& y1 &" = "& y &" And "& m1 &" = "& m &"") For Each dr As DataRow In drs \'-----代码 Next Next
|
-- 作者:有点蓝 -- 发布时间:2023/7/3 21:38:00 -- 没看懂这个代码想干嘛。截图表结构和数据,然后使用文字说明一下想做什么功能 |
-- 作者:tkxffb -- 发布时间:2023/7/4 0:09:00 -- 有点蓝老师好: 上面这段代码的目的是统计当月累计支出的经费数额,代码写在下图窗口中“本月经费支出累计”按钮下,现在需要把当月录入的行用Select方法查找出来,然后再用Sum方法对查找出来的行的经费支出列进行累计(累计的代码还没写)。现在的问题是,上段代码中Select方法不能用,查找的是全部行。说明一下,录入日期是新增行时自动填充当日日期,窗口中没有日期控件。请费心指教,谢谢! [此贴子已经被作者于2023/7/4 0:13:53编辑过]
|
-- 作者:cd_tdh -- 发布时间:2023/7/4 8:17:00 -- 直接用Compute不行嘛,为什么要先Select出来呢? SQLCompute(Expression, Filter) Expression: 要计算的表达式,使用聚合函数进行统计。 Filter: 可选参数,用于设置计算条件,采用的是SQL语法,和常规表达式的语法有所不同,请参考:SQL表达式的语法差异。 [此贴子已经被作者于2023/7/4 8:18:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/7/4 8:32:00 -- 参考:http://www.foxtable.com/webhelp/topics/2720.htm,结合Compute使用http://www.foxtable.com/webhelp/topics/0548.htm Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month Dim dt1 As New Date(y, m, 1) Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天 Dim Filter As String Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#" Dim Sum As Double Sum = Tables("订单").Compute("Sum(经费支出)", Filter ) Output.Show(Sum) |
-- 作者:tkxffb -- 发布时间:2023/7/4 9:04:00 -- 弄好了。感谢狐友cd_tdh,给出了思路,更谢谢有点蓝老师,直接给一段完整的代码。对于边学习边摸索的人,你们的帮助是最大的支持! |