【问题标题】:How to best write a "Trim" expression如何最好地编写“修剪”表达式
【发布时间】:2019-02-17 13:29:17
【问题描述】:

我正在尝试将 FQDN 缩减为资产名称。

例如,假设我有一台名为 "Desktop1.mycompany.com" 的机器,我只想在另一个字段中拥有值 "Desktop1"

我已经完成了一个修剪命令Trim(Left([ColumnwithFQDN],(InsStr(1,[ColumnwithFQDN],".")-1))) 并且它有效。它会删除除机器名称之外的所有内容。

但是,我注意到此列表中有一些没有 F​​QDN 的计算机名称,它们只是显示为 "Desktop2"。显然,这会导致#Func! error

我的问题是:有什么方法可以跳过 FQDN 中没有的任何内容,或者如果函数失败则让它返回原始值?

我想我可以执行IIf(IsNull) 命令,但我不确定我将设置什么作为返回值。

【问题讨论】:

  • 我想我只是将“trim”与我从现有电子表格合并的现有 Excel 命令相关联。它有一个修剪命令,可以满足我的要求,但也许该命令是脱离上下文使用的。

标签: function ms-access texttrimming


【解决方案1】:

Trim 函数从字符串中删除前导和尾随空格,主机名和 FQDN 都不能包含此类,因此此处不需要该函数。当然,如果您愿意,您可以在最后应用它。在这种情况下,有趣的部分是 Left 函数。我建议使用以下表达式:

Left([ColumnwithFQDN], Len([ColumnwithFQDN]) - InStrRev(StrReverse([ColumnwithFQDN]), "."))

与@HansUp 的解决方案相同,您必须确保[ColumnwithFQDN] 不是Null。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    相关资源
    最近更新 更多