我的访问数据库表中有一个列,我使用StrConv([MyColumn],3)
运行查询以使其成为正确的大小写,但最后两个字母是州名,此查询使SOmeThing, soMethINg, NY
成为Something, Something, Ny
},
我希望结果为Something, Something, NY
是否有另一个查询,我可以运行后来大写最后一个字母?
答案 0 :(得分:2)
您可以使用:
UcaseLast: Left([YourColumn], Len([YourColumn]) - 1) & UCase(Right([YourColumn], 1))
答案 1 :(得分:1)
好吧,大多数人会告诉你将'地址','城市'和'州'存储为单独的字段。然后你分别将每个Proper Case连接起来并将它们连接在一起。如果你能做到这一点......这是你最好的方法。
如果这是一个被扔给你的数据库或文件,你不能让字段/表格改变......它仍然可以得到你想要的结果。但是,您最好确保所有字符串都以您的州代码结尾。另外请确保您没有外国地址,因为加拿大(和其他国家/地区)最后会使用两个字母作为省代码。
但是如果您确定所有记录都包含两个字母的州缩写,则可以继续以下内容:
MyColumnAdj: StrConv(Mid([MyColumn],1,len([MyColumn])-2),3) + StrConv(right([MyColumn],2),1)
这会将[MyColumn]的中间字符串从位置1移动到[MyColumn]的长度减去2(省略状态代码),并将它作为正确的案例。
然后将(使用加号)连接到[MyColumn]的权限字符串,长度为2,大写字母为。
如果字段在字符串末尾没有始终如一的状态代码,那么这又是危险的。
祝你好运。希望这可以帮助。 :)