2017-12-06 9 views
0

私はVBAでクエリを書くことでアクセスしてレポートを取得しており、テーブルを結合しています。 問題は、レポートがレポート内で重複値を取得していることです。JOINアクセスで重複値を取り出すレポート

ReCrt1 = "SELECT TeamDetails_v1.vName 
      FROM TeamDetails_v1 
      LEFT JOIN Attendance ON TeamDetails_v1.vName = Attendance.Name 
      WHERE ([Attendance!Team] In ('" & Mylist & "')) 
       AND ([Attendance!Dates]>Forms!AttendanceSummary!DTPicker0) 
       AND ([Attendance!Dates]<Forms!AttendanceSummary!DTPicker6) 
       AND ([TeamDetails_v1.vEmployment_Status]='Active')" 
DoCmd.OpenReport "Monthly Report", acViewReport, , , , ReCrt1 

SQLステートメントの改行はコードにありません。私はあなたのためにそれを置く。

「TeamDetails_v1」テーブルから名前を取得するためのレポートが必要です。このテーブルには、一意の名前レコードのみがあり、「vEmployment_Status」で「アクティブ」です。また、日付ピッカーコントロールからの日付の間にある「出席」テーブルのレコード数(レポートでは数式が使用されています)。「Mylist」は、リストボックスに基づいてフィルタリングされた特定のチームを含む配列です。形。

ここでは、TeamDetails_v1から単一名のレコードを取得する代わりに、n個の日付がある場合、レポートはn個の同じデータを取得します。 私はレポートに1つのテキストボックスしか提供せず、そのコントロールソースは "TeamDetails_v1.vName"として与えられています。 私が使用したJOINに問題がありますか、それともテキストボックスフィールドコントロールのソースですか?

答えて

1

はあなたが働いSELECT

ReCrt1 = "SELECT DISTINCT TeamDetails_v1.vName FROM TeamDetails_v1 LEFT JOIN Attendance ON TeamDetails_v1.vName = Attendance.Name 
    WHERE ([Attendance!Team] In ('" & Mylist & "')) And ([Attendance!Dates]>Forms!AttendanceSummary!DTPicker0) And 
    ([Attendance!Dates]<Forms!AttendanceSummary!DTPicker6) And ([TeamDetails_v1.vEmployment_Status]='Active')" 

     DoCmd.OpenReport "Monthly Report", acViewReport, , , , ReCrt1 
+0

後に "個別" のキーワードを入れてみてくださいでした。ありがとう。 – srt

関連する問題