2016-10-12 10 views
0

Laufzettel」という名前のAccessにクエリがあり、このように見えます。日付は私は2つのテキストボックスに「概要を」という名前のフォームを作成していDD.MM.YYYYフォーマットで日付からフォームを使用してデータを取得する

Antragsnummer Eingang esigniert Ausgang  Anlage Policierung 

    111   2.10.2016 2.10.2016 3.10.2016    3.10.2016 

    222   3.10.2016 3.10.2016 3.10.2016 4.10.2016 

    333   5.10.2016 6.10.2016 7.10.2016     7.10.2016 

ある開始日終了日、検索ボタンを命名。私が必要とするのは、2つの日付で検索ボタンをクリックすると、上記のクエリから関連するレコードをすべてのフィールドとともにレポートの形式で取得する必要があります。

StartDateおよびEndDateは、クエリのEingangフィールドに関連しています。私がStartDateとして2.10.2016を入力し、EndDateとして5.10.2016を入力すると、上記のクエリを生成する必要があります。これを達成するために、フォームフィールドを使用してクエリを作成し始め、検索ボタンをクリックすると必要なレポートが生成されます。だから私は、コード、私は[フォーム]を認識できないエラーアクセスを取得する対象の

SELECT Laufzettel.ANTRAGSNUMMER,  Laufzettel.Eingang, Laufzettel.esigniert, Laufzettel.Ausgang, Laufzettel.Anlage, Laufzettel.Policierung 
FROM Laufzettel 
WHERE Lauzettel.Eingang BETWEEN [Forms]![overview]![StartDate] and [Forms]![overview]![EndDate]; 

にしようとしています![概要]![開始日]と[フォーム]![概要]![終了日]有効なものとしてフィールド名または式

上記をどのように達成できますか?誰か助けてくれますか?

編集:ここで私の作業クエリです。それは私にEndDate値からのレコードを与えていませんが。

PARAMETERS [Forms]![overview]![start] DateTime, [Forms]![overview]![end] DateTime; 
SELECT Laufzettel.ANTRAGSNUMMER,  Laufzettel.AEingangDatenstromZWorkflow, Laufzettel.BEingangesigniertDokumentZWorkflow, Laufzettel.CAusgangDatenstromZWorkflow, Laufzettel.DAnlageSchwebeVSL, Laufzettel.EPolicierungVSL 
    FROM Laufzettel 
    WHERE (((Laufzettel.AEingangDatenstromZWorkflow) Between [Forms]! [overview]![start] And [Forms]![overview]![end])); 

誰かが私に間違っていると伝えることができますか?コード(VBA)でのビルドは、としようとした場合

+0

;: "日付" フィールドが本当にテキストである場合

SQL = "SELECT Laufzettel.ANTRAGSNUMMER, Laufzettel.Eingang, Laufzettel.esigniert, Laufzettel.Ausgang, Laufzettel.Anlage, Laufzettel.Policierung " & _ "FROM Laufzettel " & _ "WHERE Lauzettel.Eingang BETWEEN #" & Format([Forms]![overview]![StartDate], "yyyy\/mm\/dd") & "# AND #" & Format([Forms]![overview]![EndDate], "yyyy\/mm\/dd") & "#" 

DATEVALUEを適用laufzettelの後では、これはSQLコマンドを途中で終了します。それともタイプミスですか? –

+0

ああ、それはタイプミスでしたが、問題ではありませんでした。 –

+0

ここからどこでこのコマンドを実行していますか?クリック手順を投稿する –

答えて

0

:あなたが持っている

SQL = "SELECT Laufzettel.ANTRAGSNUMMER, Laufzettel.Eingang, Laufzettel.esigniert, Laufzettel.Ausgang, Laufzettel.Anlage, Laufzettel.Policierung " & _ 
"FROM Laufzettel " & _ 
"WHERE DateValue(Lauzettel.Eingang) BETWEEN #" & Format([Forms]![overview]![StartDate], "yyyy\/mm\/dd") & "# AND #" & Format([Forms]![overview]![EndDate], "yyyy\/mm\/dd") & "#" 
+0

あなたの書式設定はOPの出力として正しくありません。 –

+0

いいえ、その形式は表示専用です。もちろん、日付フィールドはデータ型Dateでなければならないと仮定します。 – Gustav

+0

@krishKM:または、フィールドがテキストの場合、ローカライズされたテキスト形式を日付値に変換する_DateValue_を適用します。 Se編集。 – Gustav

関連する問題