vba - 如何在 Microsoft Access 查询中自动执行 CTRL + H 函数?
问题描述
我将数字显示为 Ranges Ex。3-7 天或 24-72 小时。我需要将这些更改为 168 或 72 之类的数字,以便最终可以进行比较或 if 语句。我知道我可以单击 CTRL H 并通过每个条件来格式化数据,但我一直在尝试找到一种方法来通过查询发生这种情况。我对 Access 很陌生,所以我可能认为这一切都错了。我尝试Expr1: Replace("0-4 Hours", "0-4 Hours", "4")
在该字段中键入此内容,有时它会要求输入参数,但它只是创建了一个名为 Expr1 的列,其中包含参数。我遵循了我在这个网站上找到的替换功能的语法,所以我必须离开。
解决方案
查询正在寻找一个名为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 会导致错误。
如果所有记录的单位(天、小时等)不同,这将变得更加复杂。如果 Days 和 Hours 是唯一涉及的单位,并且您希望将所有单位转换为 Hours:
Val(Mid([fieldname], InStr([fieldname], "-")+1)) * IIf(InStr([fieldname],"Days")>0,24,1) As Num
可能需要更多复杂性和 VBA 自定义函数。
推荐阅读
- php - 当其他输入更改值时,Kartik Select2 加载 ajax
- python - strptime() 参数 1 必须是 str,而不是 Series 时间序列转换
- r - 如何将 lm() 应用于按因子拆分的数据集
- python - 带有多行标题 xls 文件的 Pandas read_csv
- asp.net-mvc - Ajax 表单发布后模型中的 ASP.NET MVC 刷新控件
- spring-cloud-config - Spring Cloud Config - 无法克隆或签出存储库:ssh://git@github.com/
/repo.git - jakarta-ee - 如何让 Arquillian 遥控器与 Glassfish 5 和 Netbeans 8 一起使用?
- twitter-bootstrap - 为什么 reactstrap 没有像 bootstrap 一样的行为?
- scala - Scala - 按键减少元组列表
- r - 后期进入生存分析的语法