以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据时间列来统计记录数量  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67637)

--  作者:affixed
--  发布时间:2015/4/28 10:41:00
--  如何根据时间列来统计记录数量
现在我有一个时间列,格式为2015-03-31 17:02:10
现在需要统计所有此列时间等于今天的记录数量,请问该如何写代码。

我的代码是:
Dim p As Integer = DataTables("表A").Select("[添加日期] = #" & Date.Today() & "#").Count

但测试不行。


--  作者:Bin
--  发布时间:2015/4/28 10:45:00
--  
Dim p As Integer = DataTables("表A").Compute("count(*)","[添加日期] = #" & Date.Today() & "#")

不行的话,说明你的日期带有时间

那么用

Dim p As Integer = DataTables("表A").Compute("count(*)","[添加日期] >= #" & Date.Today() & "# and [添加日期] < #" & date.today().adddays(1) & "#")

--  作者:affixed
--  发布时间:2015/4/28 12:46:00
--  
Bin老师,count(*)是什么意思?
--  作者:Bin
--  发布时间:2015/4/28 13:35:00
--  
算行数 参考帮助http://www.foxtable.com/help/topics/0393.htm
--  作者:affixed
--  发布时间:2015/5/28 10:18:00
--  
Bin老师,上次你指导的更具时间列来统计记录数量现在出现了些问题,能否帮忙看下错在哪里。系统错误提示如下。

---------------------------
错误
---------------------------
自定义函数"kanbanFlash"执行出错,错误信息如下:



System.FormatException: 该字符串未被识别为有效的 DateTime。有一个从索引 11 处开始的未知字。

   在 System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)

   在 System.Data.ConstNode..ctor(DataTable table, ValueType type, Object constant, Boolean fParseQuotes)

   在 System.Data.ExpressionParser.Parse()

   在 System.Data.DataExpression..ctor(DataTable table, String expression, Type type)

   在 System.Data.Select..ctor(DataTable table, String filterExpression, String sort, DataViewRowState recordStates)

   在 System.Data.DataTable.Select(String filterExpression, String sort, DataViewRowState recordStates)

   在 System.Data.DataTable.Compute(String expression, String filter)

   在 Foxtable.DataTable.Compute(String Expression, String Filter)

   在 UserCode.AbbvttmxH02MBZbQI(Object[] Args)
---------------------------
确定   
---------------------------


--  作者:大红袍
--  发布时间:2015/5/28 10:20:00
--  

--  作者:Bin
--  发布时间:2015/5/28 10:21:00
--  
你的系统日期格式,不是正常的格式. 带有星期几  或者上午下午.

你更改一下为标准的日期格式.

或者加入代码,格式化日期 ,最好还是改一下系统日期格式,不然你程序所有用到日期的地方,都会有问题.一个个格式化处理也麻烦


Dim p As Integer = DataTables("表A").Compute("count(*)","[添加日期] >= #" & format(Date.Today(),"yyyy-MM-dd") & "# and [添加日期] < #" & format(date.today().adddays(1),"yyyy-MM-dd") & "#")




--  作者:affixed
--  发布时间:2015/5/28 10:47:00
--  
已搞定了,谢谢各位大侠!