以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]sql 语句 中 如何 写 当月的条件? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93915) |
||||
-- 作者:111yangguojun -- 发布时间:2016/12/10 10:05:00 -- [求助]sql 语句 中 如何 写 当月的条件? 问题一: 比如 查询当月的销售额, 查询表中如何 写 当月的加载条件? 问题二: 如果统计每天的销售额,查询表中如何写每天的条件?
|
||||
-- 作者:有点蓝 -- 发布时间:2016/12/10 10:25:00 -- 参考:http://www.foxtable.com/webhelp/scr/2720.htm |
||||
-- 作者:111yangguojun -- 发布时间:2016/12/10 12:13:00 -- Dim y As Integer = 2011 \'指定年份 Dim m As Integer = 6 \'指定月份 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 & "#" Tables("订单").Filter = Filter 这个代码我会用,我现在是想再查询表里直接写入 筛选当月的代码,不知道能不能实现? |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/10 14:05:00 -- 道理一样。试试就知道。 具体上传代码和例子说明
|
||||
-- 作者:111yangguojun -- 发布时间:2016/12/12 10:37:00 --
项目上传 帮忙看下如何解决项目内碰到的问题
|
||||
-- 作者:111yangguojun -- 发布时间:2016/12/12 11:08:00 -- 这是个啥问题,怎么样可以取到正确的值 |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/12 11:17:00 -- 这个要代码处理一下 Dim jb As New sqlJoinTableBuilder("查询表1","表A") jb.AddTable("表A","产品名称","表B","产品名称",JoinModeEnum.Left) \'添加统计表 jb.AddCols("{表A}.产品名称","订单金额",True) jb.AddExp("回款金额","Sum({表B}.回款金额)") jb.AddExp("运费回款","Sum({表B}.运费回款)") jb.Distinct = True Dim dt1 As fxDataSource dt1 = jb.BuildDataSource() Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table\' Dim t As DataTable = Tables("窗口1_Table1").DataTable Dim t2 As DataTable = DataTables("表C") t.StopRedraw t.DataCols.Add("垫付金额",Gettype(Double)) For Each dr As DataRow In t.DataRows dr("垫付金额") = t2.Compute("Sum(运费)","产品名称=\'" & dr("产品名称") & "\'") Next t.DataCols.Add("未回金额",Gettype(Double),"订单金额 - 回款金额") t.DataCols.Add("运费未回",Gettype(Double),"垫付金额 - 运费回款") t.ResumeRedraw Tables("窗口1_Table1").SetColVisibleWidth("产品名称|102|订单金额|71|回款金额|59|未回金额|59|垫付金额|59|运费回款|59|运费未回|59") Tables("窗口1_Table1").Filter = "未回金额 > 0 or 运费未回 > 0" |
||||
-- 作者:有点色 -- 发布时间:2016/12/12 11:24:00 -- 你用这种统计方式本身就有错。多个表组合用这种方式
http://www.foxtable.com/webhelp/scr/2305.htm
Dim bd1 As New GroupTableBuilder("统计表1", DataTables("表A")) Dim bd2 As New GroupTableBuilder("统计表2",DataTables("表B")) Dim bd3 As New GroupTableBuilder("统计表3",DataTables("表C")) dt1.Combine("产品名称",dt2,"产品名称") Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table |
||||
-- 作者:111yangguojun -- 发布时间:2016/12/12 11:29:00 -- 您这个方法我试过了,可以得到结果,但是这样每次都要处理所有的记录,数据量大的时候会不会非常慢了? |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/12 11:33:00 -- 考虑8楼的方式,合并统计表后再加上表达式列 |