我认为在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
);
我想在Projects表的Access中创建一个表单,该表有一个下拉列表,允许用户更改RequestStatus - 但显示varchar(50)值。
例如,如果RequestStatus.RequestStatus值为:
我希望下拉列表显示选项“one”和“two”,但实际上,当选中它们时,将Projects.RequestStatus分别更新为1或2。
我可以通过简单地制作我的Combobox,轻松地将“一个”和“两个”值推入下拉列表中:
但是,当我更改组合框值时,它会尝试在RequestStatus表中插入一个新值 - 这显然是个问题。
如果我将ControlSource更改为Projects.RequestStatus,它不允许我选择使用“一个”或“两个”指示符,因为显示的值是1/2等。
我怎样才能做到这一点?
答案 0 :(得分:9)
尝试使用此组合框:
控件来源:Projects.RequestStatus
行源:SELECT ID,RequestStatus FROM RequestStatus
绑定栏:1
列数:2
列宽:0“; 1”
这样你的组合框有两列(ID和RequestStatus),但是第一列是隐藏的,因为它的宽度为零。