2016-05-05 10 views
0

私が継承したMS Access 2010データベースで作業していたコードを単純化したいと思います。私は、ユーザがフィールド[txtSelectDate]のフォームに日付を入力し、コンボボックスの中から選択した日付の[uploads]テーブルにレコードがある[ProductName]を選択します。MS Access SELECT DISTINCT whereコンボボックスの行ソースとしてクエリ

現在、私はそれを行うように設計されていますが、SQLをブラッシングしていましたが、プロパティシート>データ>行ソースフィールドのSQL式内で完全に行うことができるかどうかは疑問でした。

私の試みがあった。

SELECT DISTINCT [Uploads].[ProductName] 
FROM Uploads 
WHERE [Uploads].[ImportDate] = [Forms]![Review]![txtSelectDate] 
ORDER BY [ProductName]; 

それが動作するはずのように私には感じているが、それは私にそれでオプションなしで空白のコンボを与えます。 WHEREを取り除くと、オプションが表示されますが、[ProductName]の値が実際に選択した日付にアップロードされたかどうかにかかわらず、すべてのオプションが表示されます。

答えて

0

私は日付がテキストボックスに更新イベントの後に追加し、それらが同じ形にしていると仮定しentered-された後、あなたのフォームを更新する必要があると思う:あなたのtxtSelectDateが正しくあること

Private Sub txtSelectDate_AfterUpdate() 
    Me.refresh 
End Sub 
+0

これは先週私が一般的に困惑したものでした。私はすべての私のユーザー入力フォームコントロール上のリフレッシュと再クエリーサブルーチンを持っています。 –

0

チェックDate型にキャストします(または、Uploads.ImportDateと少なくとも一致します)。そうでない場合は、ゼロ行が返されます。

+0

私はこの部分がすでに正しいと確信しています。 txtSelectDateは、既にUploads!の一致する値を持つすべてのレコードを除外するフォーム内の2つのクエリを既に駆動しています!ImportDate –

関連する問題