我有一个表,其中保存着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。它会删除格式。我需要在表单中进行一些配置以保持自定义格式吗?
谢谢。
答案 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