2016-04-16 22 views
0

私は、ユーザーがフォームを開き、(コンボボックスを介して)インストラクターを選択してから、そのインストラクターは何年にもわたってテーブルにいました。SQL Selectクエリがアクセスフォームと連携していません

WHERE句がないとコードが実行され、そのインストラクタを抱えたすべての学生が返されます。しかし、私が[フォーム]![学生フォーム]![インストラクター]をWHERE句で使用すると、突然何の結果も得られません。誰がこれがなぜなのか説明できますか?別のコンボボックスを使用して同じフォームで動作しましたが、結合を使用する必要はありませんでしたので、それが問題なのでしょうか?

これは、SQLコードである - 私たちのフォームは、学生FORM命名され、コンボボックスをインストラクターと命名された:あなたはどんなより多くの情報が必要な場合は私に知らせてください


SELECT STUDENT.STU_LNAME, STUDENT.STU_FNAME, STUDENT.[STU_ INT], 
STUDENT.STU_NICK, STUDENT.STU_YEAR, STUDENT.STU_PHONE, STUDENT.STU_EMAIL, 
INSTRUCTOR.INSTRUCTOR_LNAME FROM 
(INSTRUCTOR INNER JOIN CLASS ON 
INSTRUCTOR.[INSTRUCTOR_ID] = CLASS.[INSTRUCTOR_ID]) INNER JOIN 
(STUDENT INNER JOIN ENROLL ON STUDENT.[STU_NUM] = ENROLL.[STU_NUM]) 
ON CLASS.[CLASS_ID] = ENROLL.[CLASS_ID] 
WHERE (((INSTRUCTOR.INSTRUCTOR_LNAME)=[Forms]![STUDENT FORM]![INSTRUCTOR])); 

+0

@HansUpコンボボックスで3つの値、すべての名前があります。そこで、ユーザーに姓を選択させてから、その講師とクラスを受講したすべての受講生を返すようにしています。 –

+0

私はあなたが私にそれを使いたがっているかどうかは分かりませんでした。私はそれだけを走らせました。 select文をその文で置き換えることを意味しましたか?編集 - 私はまた、SQLステートメントだけを置き換え、それも悲しいことに、どちらも動作しませんでした、私に空白のテーブルを与えました。 –

+0

いいえ、間違いなしです。それはコードを実行しますが、何らかの情報を提供しません。その理由の一部は私がとても混乱しているからです。エラーが発生した場合は、それを絞り込むことができます。代わりに、[フォーム]という1つの列のテーブルが返されました![受講者のフォーム]![インストラクター] –

答えて

0

私はあなたのINSTRUCTORコンボボックスがINSTRUCTOR_IDは(これだけINSTRUCTOR_LNAMEが表示されている)バインドされた列さと幅が0を持つ、2つの列があり賭けます。

だから、あなたがのためにフィルタリングする必要がある値がINSTRUCTOR_IDで、あなたはにWHERE句を変更する必要があります。

WHERE (((INSTRUCTOR.INSTRUCTOR_ID)=[Forms]![STUDENT FORM]![INSTRUCTOR])); 
+0

これが答えでした!ありがとうございました! –

関連する問題