Ms access 使用sql select语句将数据填充到列表框时,格式化函数不起作用

Ms access 使用sql select语句将数据填充到列表框时,格式化函数不起作用,ms-access,ms-access-2003,Ms Access,Ms Access 2003,在Access 2003中,使用VBA编程 我有一个列表框,用两列填充数据。 一列是ID,另一列是Name。 我想要ID列上的4位格式 我尝试使用列表框的行源属性 我像这样编写SELECTSQL语句 select format([ID],'0000'), Name from myTable 它不起作用 当我删除format函数时,它会工作 我想用所需的格式填充数据我这里只有2007,所以可能是版本不同 根据你所说的“它不起作用”的意思,我的答案之一必须是“是的,它起作用了”。我的测试表单没有正

在Access 2003中,使用VBA编程

我有一个列表框,用两列填充数据。 一列是
ID
,另一列是
Name
。 我想要
ID
列上的4位格式

我尝试使用列表框的行源属性

我像这样编写SELECTSQL语句

select format([ID],'0000'), Name from myTable
它不起作用

当我删除format函数时,它会工作


我想用所需的格式填充数据

我这里只有2007,所以可能是版本不同

根据你所说的“它不起作用”的意思,我的答案之一必须是“是的,它起作用了”。我的测试表单没有正确显示格式化的ID字段

但是,它不再是控件中的
ID
字段——它现在是
Expr1
,因此这会中断绑定。如果您希望按所述显示,但仍希望控件绑定到
ID
列,请尝试以下操作:

首先将您的
行源
修改为:

select ID, Format([ID],'0000') As FormattedID, [Name] As SomeName from myTable

(如果可以的话,可以更改name的名称——我已经给它加了别名,以防您无法控制表的设计)。然后将
绑定列
设置为1,
设置为3,
列宽
设置为
0;1”;1“
。这将隐藏绑定的
ID
,但向用户显示格式化的ID。

通过“它不起作用””“什么意思?它显示没有格式的ID。它没有在列表框中列出任何内容?出现错误?注意,使用
名称
作为列名不是一个好主意,因为名称在MS Access中是一个保留字。这会给你以后带来很多悲伤。现在,我发现格式函数在其他表单中运行良好,但在一种表单中不起作用。当我删除SQL语句中的format函数时,该表单运行正常。在SQL语句中插入format函数后,我得到了这个错误。不是有效的路径。确保路径名拼写正确,并且已连接到文件所在的服务器。(错误3044)