我想为使用宏运行的进程创建一个简单的计时器。我正在使用SetTempVar记录开始和结束时间,并使用一个简单的查询来计算经过的时间。
宏是:
然后查询很简单:
SELECT [tempvars]![ProcessStart] AS Start, [TempVars]![ProcessEnd] AS [End], DateDiff("s",[start],[end]) AS Seconds;
但是输出很奇怪:
SetTempVar的2个字段以某种奇怪的字体显示。但是,经过时间为84秒是正确的。
如何正确显示开始时间和结束时间?
答案 0 :(得分:1)
我可以复制这个。这是一个奇怪的问题。
尽管TempVar包含日期,但它被解释为字符串。二进制日期数据被解释为UTF-16字符,显示随机字符(由于UTF-16中有许多中文字符,因此通常为中文)。
我认为这是Access中的错误。查询应该正确确定变量类型,这显然是错误的。
要显示日期值,请使用Format
或CDate
。
如果您对时差感兴趣,建议将其格式化为 Long Time :
SELECT Format([tempvars]![ProcessStart], "Long Time") AS Start, Format([TempVars]![ProcessEnd], "Long Time") AS [End], DateDiff("s",[start],[end]) AS Seconds;