如何在多值组合框中保持数字格式?

时间:2019-01-19 00:20:46

标签: sql ms-access

我有一个表,其中保存着Number类型的数据,其格式为“ R-” 00,并且在链接到该表的Form中,我有一个多组合框。当我选择值时,它们是正确的-它们都具有“ R-00n”格式,其中n是实际的数字条目(自动编号)。但是,当我进行选择时,该值将读为1、2、3,而不是R-001,R-002,R-003。选择后如何保持格式?

我的查询是对表单中组合框数据的SELECT Reference_ID FROM References查询,它正在提取正确格式(“ R-001,R-002,R-003”)的正确记录,但是当我进行选择,表格中的值只有1、2、3。它会删除格式。我需要在表单中进行一些配置以保持自定义格式吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我想你是说ListBox而不是Combobox,对吧?

所以我还假设您已经有一些代码来读取ListBox的选定项,如下所示:

Dim item As Variant
For Each item In YourListBox.ItemsSelected
    Debug.Print YourListBox.ItemData(item)
Next

关于您的问题:

您写道,表字段Reference_ID本身存储数字,但是由于它是用"R-"000格式化的,因此显示的值类似于R-003

因此您已经知道,存储的值本身未经格式化。 您可以通过检索数据来检查数据,如下所示:

?DLookup("Reference_ID","References","Reference_ID = 3")

它将显示3,而不显示R-003

因此,当您从ListBoxes所选项目中读取数据时,该属性也属于该

据我所知,您无法从ListBox中读取格式化的文本。但是您可以做的是自行格式化读取值:

Dim item As Variant
For Each item In YourListBox.ItemsSelected
    Debug.Print Format(YourListBox.ItemData(item), "R-000")
Next

另一种方法可能是将ListBox的行源设置为已格式化的值:

Select Format(Reference_ID, "R-000") From References
相关问题