我们目前正在使用Access 2003.我有一个车辆维护日志,其中包含车辆编号的文本字段。该字段需要是文本,因为当车辆退役时它将具有R。他们希望该字段为四位数字,前导零。因此,车辆22将显示在表格中并报告为0022,并且当退役时,它将是R0022。我试图将字段的格式更改为“0000”和“0000”#,但这些都不会显示前导零。
答案 0 :(得分:2)
您真的希望用户手动编辑该字段吗? 我不喜欢这样的解决方案,因为它容易出错(除非你检查很多东西以确保没有人输入无效数据)并且对你的用户感觉不好。
我只想在表格中保存以下内容:
22
,而不是0022
)这对您的用户来说更容易使用:
另外,现在显示所需的数字R0022
只是显示/格式化表格中的数据:
Public Function GetDisplayNo(VehicleNo As Integer, IsRetired As Boolean) As String
GetDisplayNo = IIf(IsRetired, "R", "") & Right("0000" & VehicleNo, 4)
End Function
您可以像这样使用此功能:
GetDisplayNo(22, True)
返回R0022
GetDisplayNo(22, False)
返回0022
如果您需要在报告或连续表格中显示车辆编号列表,您可以直接在基础查询中使用此功能:
SELECT
Vehicles.VehicleNo,
Vehicles.IsRetired,
GetDisplayNo([VehicleNo],[IsRetired]) AS DisplayNumber
FROM Vehicles;