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
);
ユーザーが RequestStatus を変更できるようにするドロップダウンがある Projects テーブルの Access でフォームを作成したいのですが、varchar(50) 値を表示します。
たとえば、RequestStatus.RequestStatus の値が次の場合:
- (1,"1")
- (2,"2")
ドロップダウンにオプション「1」と「2」を表示したいのですが、実際には、それらが選択されたら、Projects.RequestStatus をそれぞれ 1 または 2 に更新します。
コンボボックスを作成するだけで、「1」と「2」の値を非常に簡単にドロップダウンにプッシュできます。
- RowSource = SELECT RequestStatus.RequestStatus FROM RequestStatus;
- ControlSource = RequestStatus.RequestStatus
しかし、コンボ ボックスの値を変更すると、RequestStatus テーブルに新しい値を挿入しようとします。これは明らかに問題です。
ただし、ControlSource を Projects.RequestStatus に変更すると、表示される値が 1/2 などであるため、「1」または「2」のインジケーターを使用して選択できません。
どうすればこれを達成できますか?