我有我认为在Access中很容易做的事情.
想象一下,我有以下表格(在SQL中生成):
CREATE TABLE Projects (
ID int IDENTITY(1,1) PRIMARY KEY,
RequestStatus int FOREIGN KEY REFERENCES RequestStatus(ID),
mName varchar(50)
);
CREATE TABLE RequestStatus (
ID int IDENTITY(1,1) PRIMARY KEY,
RequestStatus varchar(50) unique
);
Run Code Online (Sandbox Code Playgroud)
我想在Projects表的Access中创建一个表单,该表有一个下拉列表,允许用户更改RequestStatus - 但显示varchar(50)值.
例如,如果RequestStatus.RequestStatus值为:
我希望下拉列表显示选项"one"和"two"但实际上,当它们被选中时,将我的Projects.RequestStatus分别更新为1或2.
通过简单地制作我的Combobox,我可以非常轻松地将"一个"和"两个"值推入下拉列表中:
但是,当我更改组合框值时,它会尝试在RequestStatus表中插入一个新值 - 这显然是个问题.
如果我将ControlSource更改为Projects.RequestStatus,它不允许我选择使用"一个"或"两个"指示器,因为显示的值是1/2等.
我怎样才能做到这一点?
试试你的组合框:
控件来源:Projects.RequestStatus
行源:SELECT ID,RequestStatus FROM RequestStatus
绑定列:1
列数:2
列宽:0"; 1"
这样你的组合框有两列(ID和RequestStatus),但第一列是隐藏的,因为它的宽度为零.