2

上部にドロップダウンがあり、選択した内容に対応するレコードをフォームの残りの部分に入力するフォームをアクセスで作成しようとしています。

2 つの異なるガイドをオンラインで見ましたが、どちらも古いバージョンの Access を指していて、何かが足りないと思います。

そう。私がすべてを行った順序:

  1. フォームのテーブルに行きました。そして、フォームをクリックしました。これにより、すべてのフィールドがテキスト ボックスとして表示されるクイック フォームが作成されました。

  2. ドロップダウンになるフィールドを削除し、ウィザードをキャンセルするドロップダウンを入れました

  3. ドロップダウンのデータ セクション。「Row Source」を編集して、ドロップダウンにあるフィールドと一意の ID をこの順序で選択しました。

  4. バインドされた列を2に設定しました(両方を試しました)

  5. コンボ ボックスの名前を「TitleSelector」に設定しました

  6. フォーム設定で。「レコードソース」について。「[forms]![Edit Piece].[TitleSelector] & "*" in Criteria for "ID". クエリの残りのフィールドもリストされています。

  7. 変更時に「me.requery」を追加しました。それが何かを意味するかどうかはわかりません。「ID」の条件を入力すると、ドロップダウンに「TitleSelector」が表示されませんでした。

アクセス2010を使用しています

編集: 私の問題 - ドロップダウン自体にすべてが正しく表示されます。しかし、何かを選択しても何も起こりません

編集:

SELECT Pieces.ID, Pieces.Title, Pieces.Composer, Pieces.Instrumentation, Pieces.Location, Pieces.Location_2
FROM Pieces
WHERE (((Pieces.ID)=[forms]![Edit Piece].[TitleSelector]));

編集: これは私のデータベースのコピーへのリンクです: https://www.dropbox.com/s/tpnqm686tj653fg/Trisha%20Database.accdb

4

2 に答える 2

1

サンプルファイルをダウンロードしました。あなたの問題はRecord Source、[編集ピース]フォームのがに設定されていることです...

SELECT Pieces.ID, Pieces.Title, Pieces.Composer, Pieces.Instrumentation, Pieces.Location, Pieces.Location_2 FROM Pieces WHERE (((Pieces.ID)=[forms]![Edit Piece].[TitleSelector] & "*")); 

...そして& "*"最後に、クエリがレコードを返さない原因となっています。その最後のビットを削除すると、フォームRecord Sourceは...

SELECT Pieces.ID, Pieces.Title, Pieces.Composer, Pieces.Instrumentation, Pieces.Location, Pieces.Location_2 FROM Pieces WHERE (((Pieces.ID)=[forms]![Edit Piece].[TitleSelector])); 

...フォームを機能させます。

編集

[Pieces] テーブルの外部キー値だけでなく、関連するテーブルの情報をフォームに表示するにRecord Sourceは、フォームの を次のように変更します。

SELECT Pieces.ID, Pieces.Title, Pieces.Composer, Pieces.Instrumentation, Pieces.Location, Pieces.Location_2 FROM Pieces WHERE (((Pieces.ID)=[forms]![Edit Piece].[TitleSelector])); 

...に...

SELECT Pieces.ID, Pieces.Title, Composer.Composer, Instrumentation.Instrumentation, Location.Location, Location_1.Location AS Location_2 FROM (Location INNER JOIN (Instrumentation INNER JOIN (Composer INNER JOIN Pieces ON Composer.ID = Pieces.Composer) ON Instrumentation.ID = Pieces.Instrumentation) ON Location.ID = Pieces.Location) INNER JOIN Location AS Location_1 ON Pieces.Location_2 = Location_1.ID WHERE (((Pieces.ID)=[forms]![Edit Piece].[TitleSelector]));
于 2013-05-25T12:43:30.410 に答える