我在Microsoft Access中有一个文本字段,只包含数字.我不知道这些数字是否以空白字符开头.
我想要做的是,如果字段为'1'我想将其转换为'0001',如果它有'89',那么我想将其转换为'0089',等等.意思是我只想制作字段长度一致4个字符,并用适当的数字'0'填充数字.
我该怎么做呢?我可以使用计算的现场方法吗?如果SQL有一个简单的方法,我可以将数据库转换为SQL.
谢谢.
您可以使用该Format()函数转换数字字符串. Format()不关心数字是否以空格开头.
? Format("89","0000")
0089
? Format(" 89","0000")
0089
Run Code Online (Sandbox Code Playgroud)
如果要在查询中以该格式显示这些字段值:
SELECT Format([YourTextField],"0000")
FROM YourTable;
Run Code Online (Sandbox Code Playgroud)
如果您想要更改它们的存储方式:
UPDATE YourTable
SET [YourTextField] = Format([YourTextField],"0000");
Run Code Online (Sandbox Code Playgroud)
编辑:@onedaywhen建议使用CHECK CONSTAINT或Validation Rule来确保您的表格以后只接受有效数据.这是一个CHECK CONSTRAINT示例:
ALTER TABLE YourTable
ADD CONSTRAINT four_digits_required
CHECK (
YourTextField LIKE '[0-9][0-9][0-9][0-9]'
);
Run Code Online (Sandbox Code Playgroud)
您可以从中运行该语句CurrentProject.Connection.Execute,这是一个ADO对象方法.具有CHECK约束的DDL语句只能从ADO执行.所以你无法执行该语句CurrentDb.Execute,这是一个DAO对象方法.
或者,这应该适用于YourTextField的验证规则属性:
LIKE "[0-9][0-9][0-9][0-9]"
Run Code Online (Sandbox Code Playgroud)
验证规则方法还允许您使用"验证文本"属性在提交的值不可接受时向用户显示消息:
"4 digits required."
Run Code Online (Sandbox Code Playgroud)
在这种情况下,验证文本方法与违反该约束时显示CHECK约束名称的方法大致相同.但是,如果您想要更详细的消息,验证文本可能是更好的选择.
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |