首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Microsoft Access查询中自动执行CTRL +H函数?

如何在Microsoft Access查询中自动执行CTRL +H函数?
EN

Stack Overflow用户
提问于 2020-05-13 23:54:52
回答 1查看 35关注 0票数 0

我的数字显示为Ranges Ex。3-7天或24-72小时。我需要将它们更改为168或72这样的数字,这样我才能最终执行比较或if语句。我知道我只需单击CTRL H并遍历每个条件来格式化数据,但我一直在尝试通过查询找到一种方法来实现这一点。我是一个非常新的访问者,所以我可能认为这一切都错了。我尝试在字段中键入此Expr1: Replace("0-4 Hours", "0-4 Hours", "4"),有时它会要求提供一个参数,但它只会创建一个名为Expr1的列,其中包含该参数。我遵循了我在这个网站上找到的替换函数的语法,所以我肯定走错了路。

EN

回答 1

Stack Overflow用户

发布于 2020-05-14 02:33:52

查询正在寻找一个名为0-4 Hours的字段,它当然找不到,因此出现了提示(这应该总是发生的,而不仅仅是有时,所以这是一个谜)。正确的语法:

Expr1: Replace([fieldname], "0-4 Hours", "4")

但是,此计算结果将仅对具有0-4 Hours值的记录显示。应该可以使用以下命令为每条记录动态计算此值:

SELECT *, Val(Mid([fieldname], InStr([fieldname], "-")+1)) As Num FROM tablename;

每条记录都必须有值,因为Null会导致错误。

如果所有记录的单位(天、小时等)都不相同,则会变得更加复杂。如果天数和小时数是唯一涉及的单位,并且您希望将所有时间单位都转换为小时数:

Val(Mid([fieldname], InStr([fieldname], "-")+1)) * IIf(InStr([fieldname],"Days")>0,24,1) As Num

任何更复杂的操作和VBA自定义函数都可能是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61779192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档