システムwiki

Office:アクセス中のSQLクエリ

Greathu 受付中 最終更新日:2020-08-19 23:00

ACESSSで2つのtableを定義しました.

DISTANCEtable

1.ホームチーム (自宅と離れた場所は誤称です.2つの学校間の距離です)

2.アウェイチーム

3.離れた距離

スケジュール表

1.チーム

2.ゲームの日付

私の目標は、互いに2日以内の距離で、地理的に互いに120マイル以内にあるゲームを見つけることです.

たとえば、アラバマ州は2020年11月17日にホームゲームをプレイする予定です.前後2日以内または前後2日以内にプレイしている、周辺地域(距離120マイル)のすべてのゲームを検索したいと思います.75マイル離れたアラバマ北部が
2020年11月18日のプレイで、それを見たいです.2000マイル離れたペッパーダインが2020年11月16日にプレイする場合、私はそれを見たくありません.UAB(51マイル離れた場所)が2020年11月29日にプレイしている場合、私はそれを見たくありません.

これまでに次のクエリがあります:

SELECT距離.[ホームチーム]、距離.[アウェイチーム]、距離.[距離]、スケジュール.[ゲームの日付]
距離、スケジュール
WHERE距離.[ホームチーム] =スケジュール.[チーム]と距離.[距離]<120
かつ存在します(*からスケジュールを選択します.スケジュール.[チーム] =距離.[アウェイチーム])

アウターセレクトの日付と同じ地域の他のすべてのゲームの日付を比較したい日付の選択がわかりません.

日付を比較できるようにtableにラベルを付けようとすると、クエリは実行時にパラメータを探します.

ご協力をよろしくお願いいたします.

返信リスト(回答:1)

1 #
TomvanS

日付の計算は、DateAddとDateDiffの2つの関数を使用して行うのが最適です.

例:

select...where DateAdd( "d"、-2、#3/21/2020#)とDateAdd( "d"、2、#3/21/2020#)の間のGameDate

最初の例で使用したような日付そのものではなく、フォーム上のコントロールを参照したい場合があります:

select...where DateAdd( "d"、-2、Forms!myForm!myDateControl)とDateAdd( "d"、2、Forms!myForm!myDateControl)の間のGameDate