创建验证规则 "start with upper letter" 访问
create validation rule "start with upper letter" access
我想在访问字段时创建一个验证规则,该字段只允许以大写字母开头的值
我试过这个 code:StrComp ( UCase ( right([Nume],1)), right([Nume],1)=0 ,但它不起作用
我认为您不能在字段级别执行此操作,但您可以在 table 级别验证规则:
Asc([Nume])=Asc(UCase([Nume]))
"doesn't work" 是什么意思 - 错误消息、错误结果、什么都没有发生?
如果您想测试起始字母,请使用 Left(),而不是 Right()。表达式缺少右括号,还需要比较方法参数:
StrComp(UCase(Left([Nume],1)), Left([Nume],1), 0) = 0
它确实在 table 中的字段 ValidationRule 属性 中起作用。
不会阻止其他位置的大写字母。 Access 中没有句子大小写的固有功能。考虑:
Ucase(Left(mystring,1)) & LCase(Mid(mystring, 2))
有 StrConv() 函数。这会将每个单词的首字母转换为大写。
我的偏好是 VBA 程序,以确保用户以正确的形式输入,而不是用手拍打烦扰用户,迫使他们重新输入并降低工作效率。上面的表达式可以达到这个目的。
我想在访问字段时创建一个验证规则,该字段只允许以大写字母开头的值 我试过这个 code:StrComp ( UCase ( right([Nume],1)), right([Nume],1)=0 ,但它不起作用
我认为您不能在字段级别执行此操作,但您可以在 table 级别验证规则:
Asc([Nume])=Asc(UCase([Nume]))
"doesn't work" 是什么意思 - 错误消息、错误结果、什么都没有发生?
如果您想测试起始字母,请使用 Left(),而不是 Right()。表达式缺少右括号,还需要比较方法参数:
StrComp(UCase(Left([Nume],1)), Left([Nume],1), 0) = 0
它确实在 table 中的字段 ValidationRule 属性 中起作用。
不会阻止其他位置的大写字母。 Access 中没有句子大小写的固有功能。考虑:
Ucase(Left(mystring,1)) & LCase(Mid(mystring, 2))
有 StrConv() 函数。这会将每个单词的首字母转换为大写。
我的偏好是 VBA 程序,以确保用户以正确的形式输入,而不是用手拍打烦扰用户,迫使他们重新输入并降低工作效率。上面的表达式可以达到这个目的。