查看和显示SetTempVar结果时出现问题

时间:2018-09-26 23:36:02

标签: ms-access

我想为使用宏运行的进程创建一个简单的计时器。我正在使用SetTempVar记录开始和结束时间,并使用一个简单的查询来计算经过的时间。

宏是:

enter image description here

然后查询很简单:

SELECT [tempvars]![ProcessStart] AS Start, [TempVars]![ProcessEnd] AS [End], DateDiff("s",[start],[end]) AS Seconds;

但是输出很奇怪:

enter image description here

SetTempVar的2个字段以某种奇怪的字体显示。但是,经过时间为84秒是正确的。

如何正确显示开始时间和结束时间?

1 个答案:

答案 0 :(得分:1)

我可以复制这个。这是一个奇怪的问题。

尽管TempVar包含日期,但它被解释为字符串。二进制日期数据被解释为UTF-16字符,显示随机字符(由于UTF-16中有许多中文字符,因此通常为中文)。

我认为这是Access中的错误。查询应该正确确定变量类型,这显然是错误的。

要显示日期值,请使用FormatCDate

如果您对时差感兴趣,建议将其格式化为 Long Time

SELECT Format([tempvars]![ProcessStart], "Long Time") AS Start, Format([TempVars]![ProcessEnd], "Long Time") AS [End], DateDiff("s",[start],[end]) AS Seconds;