1

私はこれをできる限り明確に保ちます:

私のデータベースには 2 つのテーブルがあります。

Clients
Contacts

彼らには関係があります:各クライアント(ご理解のとおり、これは会社です)ごとに、関連する連絡先はいくつでも存在できます。

データベースには、関連する 3 つの形式があります。

SearchFrm
NavigationFrm
ContactsSubFrm

SearchFrmテーブルから読み取るフォームでClients、選択したレコード (名前) に従って、他のすべてのフィールドをそれぞれのテキスト ボックスに表示するコンボ ボックスがあります。

内部はデータシート サブフォームSearchFrmとしてContactsSubFrm表示され、フォーム内の選択されたレコードに関連するすべての連絡先が表示されます (クエリを使用して)Contacts.[Workplace ID])=[Forms]![SearchFrm]![ID]

NavigationFrmフォーム間のナビゲーション手段として機能します。現時点では のみですSearchFrmが、さらに追加される予定です。

そして今、問題: 実行されるクエリがContactsSubFrm内部で機能しません。実行すると、実行されるたびにNavigationFrm入力ウィンドウが表示されます。[Forms]![SearchFrm]![ID]これは、ナビゲーション内でのみ発生します。

これは、フォーム自体が閉じられており、ナビゲーション フォームの操作に問題があるためだと確信してSearchFrmいますが、解決策が思いつきません。

どうもありがとうございました。

4

3 に答える 3

1

同じ質問に対する答えを探していたので、他の誰かが探しに来た場合に備えて、ここに私の解決策を入れようと思いました...

上記のように、クエリのナビゲーション フォーム内のフォーム内のフィールドを参照する必要があります (最初に作成したフォーム内のフィールドだけではなく)。

これを行う最良の方法は次のとおりです。

  1. ナビゲーション フォームを開きます。
  2. 他のフォームを開きます。
  3. 別のフォームから式ビルダーにアクセスします。
  4. 参照する必要があるナビゲーション フォームのフィールドを見つけます。私は次のようになりました:

    Forms![NavigationForm]![NavigationSubform].Form![Field]

  5. コピーしてクエリに貼り付けます
于 2015-02-19T16:10:52.893 に答える
0

フォームが場所を移動したため (現在はナビゲーション フォーム内)、クエリを from: から: に変更してみることができます[Forms]![SearchFrm]![ID][Forms]![NavigationFrm]![SearchFrm]![ID]

于 2014-03-31T16:49:25.573 に答える
-2

クエリ自体の参照を次のように変更することでこれを解決しました

[forms]![frmNavigationForm]![NavigationSubform].[Form]![ID]
于 2014-07-24T13:28:38.827 に答える