【问题标题】:create validation rule "start with upper letter" access创建验证规则“以大写字母开头”访问
【发布时间】:2017-03-23 10:02:05
【问题描述】:

我想为一个字段创建一个验证规则,该字段只允许以大写字母开头的值 我试过这个 code:StrComp ( UCase ( right([Nume],1)), right([Nume],1)=0 ,但它不起作用

【问题讨论】:

    标签: validation ms-access field rule validationrules


    【解决方案1】:

    “不起作用”是什么意思 - 错误消息、错误结果、没有任何反应?

    如果要测试起始字母,请使用 Left(),而不是 Right()。表达式缺少右括号,还需要比较方法参数:

    StrComp(UCase(Left([Nume],1)), Left([Nume],1), 0) = 0

    它确实适用于表中的字段 ValidationRule 属性。

    不会阻止其他位置的大写字母。 Access 中没有用于句子大小写的内在函数。考虑:
    Ucase(Left(mystring,1)) & LCase(Mid(mystring, 2))

    有 StrConv() 函数。这会将每个单词的第一个字母转换为大写。

    我更喜欢 VBA 程序,以确保用户以正确的形式输入,而不是用耳光烦人,迫使他们重新输入输入并降低工作效率。上面的表达式可以达到这个目的。

    【讨论】:

    • 它显示了一条错误消息,但现在它可以正常工作了。谢谢!
    • Gustav 的简单表达式将提供相同的结果(在发布之前没有看到)。请参阅修改后的答案。
    【解决方案2】:

    我认为您不能在字段级别执行此操作,但您可以在 table 级别验证规则:

    Asc([Nume])=Asc(UCase([Nume]))
    

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2020-03-27
      • 2012-01-14
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多