5

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」のインジケーターを使用して選択できません。

どうすればこれを達成できますか?

4

1 に答える 1

9

コンボボックスでこれを試してください:

コントロール ソース: Projects.RequestStatus
行ソース: SELECT ID、RequestStatus FROM RequestStatus
バインド列: 1
列数: 2
列幅: 0";1"

このように、コンボ ボックスには 2 つの列 (ID と RequestStatus) がありますが、最初の列は幅がゼロであるため非表示になっています。

于 2013-10-16T16:27:51.777 に答える