![]() |
1
2
我认为immediate if[i if()]函数更适合于您正在尝试的操作:
但是switch()函数不应破坏数据类型,并且与日期/时间数据类型不兼容。考虑这个函数:
Tryswitch(“今日”) 收益率 10/6/2009 和 类型名(Tryswitch(“Today”)) 收益率 日期 |
![]() |
2
1
你的例子有点奇怪。 switch接受表达式对,如果第一个表达式对的计算结果为true,则返回其成对值,否则,它将传递给第二个表达式对,并计算该参数。 你似乎认为1是正确的,这是因为它不是错误的,但你最好:
但这只是immediate if函数、iif()和iif()功能的复制,只需要更少的参数。 但它也有同样的问题,因为它返回一个变量。但您应该能够将其强制为可以格式化为日期的数据类型。 但是,这个变量是否会被隐式地强制执行,或者您需要显式地执行它,取决于您使用它的位置。在查询结果中,您可以将IIF([条件],日期1,日期2)的输出排序为日期,因为列被强制为日期类型。 如果必须显式执行强制,则cdate()是要使用的函数--您将用cdate()函数包装生成变量输出的外部函数,以确保变量输出显式强制为日期类型:
但我很可能错过了一些重要的事情,因为我似乎走上了一条完全不同的道路… |
![]() |
3
1
你能发布一些代码和数据来重现这个问题吗?因为这是
[选择点:Access数据库SQL没有“Boolean”数据类型。它有一个
这是一些SQL DML( ANSI-92 Query Mode 语法)演示它如何按预期工作:
更改任何“条件”值,该值始终返回为“日期”,即类型
更新:
的确。因为一列只能是一种数据类型,所以
分别返回“日期”和“小数”,但该列将是什么?显然,答案是:
“绳子”?!
…这当然不是Access数据库引擎SQL数据类型。所以
返回“boolean”,尽管如上所述,Access数据库引擎SQL中没有布尔数据类型。和
返回“string”。注:同样的VBA映射限制适用于
|
![]() |
blogger13 · 视频租赁店数据库的规范化 5 月前 |
![]() |
Pepito · 从一个选择中使用别名,以便在另一个选择中将其使用 5 月前 |
![]() |
Shiela · 日期/时间格式VBA访问查询 6 月前 |
![]() |
Tim O · 从MS Access 2016中的字符串字段中间提取数值 11 月前 |