• ベストアンサー

ACCESS2000のクエリについて教えてください。

ACCESS2000でデータから抽出したいのですが、抽出条件をどのようにすればいいのかわかりません。 フィールドに「日付」「ID」「日時」があり、日付別、ID別の最新日時だけを一度に抽出したいと思っています。 どのように条件を設定したらよいのでしょうか? アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

#1のmshr1962です。 他のフィールドの内容が同じならグループ化できます。 異なる場合ですが、最大、最小、先頭、最後にする方法もありますが 日時の最大のレコードのものを表示ですか?その場合は 式1: DLookUp("フィールド名","テーブル名","日付=" & [日付] & " and ID='" & [ID] & "' and 日時=" & [日時の最大] ) 上記で式1とフィールド名を変更すれば対応できます。 IDが数値の場合は前後の'を消去してください。 もっとも今の集計クエリと元のテーブルを連結した方が早いかもしれませんが...

lovekouhei
質問者

お礼

ご回答ありがとうございます。 抽出できました! 連結したほうが早かったですね! また何かありましたら、よろしくお願いします。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

「日付」「ID」「日時」で「日付」「ID」をグループ化し「日時」を最大で集計するクエリを作ります。 「日付」「ID」「日時」と他のフィールドを表示させるクエリを作り、先に作ったクエリを追加し「日付」「ID」で結合させれば条件にあうレコードが表示されます。 これでいけるはずですが。

lovekouhei
質問者

お礼

ご回答ありがとうございます。 抽出できました! また何かありましたらよろしくお願いします。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

クエリにて、「表示」「集計」で 「日付」「ID」をグループ化 「日時」を最大 で集計してください。

lovekouhei
質問者

お礼

ご回答ありがとうございます。 すいません。説明が足りませんでした。 この方法で抽出はされるのですが、ほかのフィールドもあり、そのフィールドを表示させようとすると、エラーが出てしまいます。表示させるにはどのようにしたらよいのでしょうか? よろしくお願いします。

関連するQ&A

  • Accessのクエリについて

    お世話になります。 テーブル内の[出荷日]というフィールドに対して、 「出荷日1ヶ月前のレコード」を抽出しようと考えてます。 クエリ実行時に「日付」をパラメータ入力して、 その日付より1ヶ月前の出荷日のデータを出したいのです。 フィールドに対する抽出条件として、 <=[日付]-30 という条件を指定して実行したのですが、うまく いきませんでした。 どのように設定すればよいでしょうか? ご教授よろしくお願いします。

  • アクセスのクエリーについて

    アクセス初心者です。WIN NT4.0 アクセス97です。 テーブル1にID、会社名、1位、2位、・・・10位とフィールドがあります。この1位~10位の中で、あるキーワードが含まれているデータのみ抽出したいのですが、なかなかうまくいかず・・・。キーワードは一つで、抽出されたデータは新たにテーブルに保存したいのですが、どうしたら良いでしょうか。アドバイスよろしくお願いいたします。

  • Accessクエリのデータ表示件数について

    テーブルにあるデータを、クエリにより抽出したのですが、テーブルにあるデータ/14328件の内、8414件しか抽出されません(日付フィールドの2000/10/1以降のデータのみ表示される)。クエリに日付等の抽出条件は設定していません。何かデータ表示件数制限等の設定があるのでしょうか?いろいろ試してみましたがダメでした。アドバイス宜しくお願いします。

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。

  • Access抽出クエリの基本的なこと

    お世話になります。 初心者で苦労しながらもAccess2000でデータベースを作成しています。 非常に基本的な質問だと思うのですが、どなたかご教授願います。 日付を含むフィールドがあるテーブルがあり、クエリにてその日付から 年と月を拾っています。 ID   入力日   年:Year([入力日])   月:Month([入力日]) 1   2001/07/06    2001          6 2   2002/06/07    2002          6 3   2002/07/19    2002          7 別に作成したフォームに年と月を絞り込むためのコンボボックスをそれぞれ配置し、 入力された値によって上記クエリの抽出条件に反映させたいのですが、コンボに何も 入力されていないときは全てのデータを表示したいんです。 「コンボ月=2002」&「コンボ月=6」でID=2のデータのみを、 「コンボ月=(Null)」&「コンボ月=6」でID=1と2のデータを表示したいんです。 (判りにくくてすみません。。) このような場合、抽出条件に記述する式はどのように設定したら良いのでしょうか? IIfでIsNullの条件式を組んだのですが、Nullの時に返す値が判りません。 どうかよろしくお願いします。

  • アクセス クエリ

    アクセス クエリの抽出について教えて下さい。例えば、1つのクエリの中に数値のフィールドが5つ作成してあり、それぞれ違うフィールドの抽出条件をしています。それぞれの条件を入れてしまうと5つのフィールド条件全てに合ったものしか抽出できません。 5つのフィールドのうち、どれでも1つ一致したら抽出できるようにしたいのですが良い方法を教えて下さい。宜しくお願いします。

  • 日付と文字列を条件としてDLookup関数で抽出さ

    日付と文字列を条件としてDLookup関数で抽出させたいです。アクセスです。 テーブル1のデザイン フィールド名 ID(数値型) フィールド1(テキスト型) 取得日時(日付/時刻型) テーブル1のデータ ID  フィールド1  取得日時 1       あ  2013/01/05 2       い  2013/01/05 この条件でvbaでIDの値を抽出したいのですが MsgBox DLookup("[ID]", "テーブル1", "[取得日時] = #2013/01/05#") だと、1が返ってきちゃうのでフィールド1でもフィルタをかけたいのですが どうやればいいでしょうか? MsgBox DLookup("[ID]", "テーブル1", "[取得日時] = #2013/01/05#" And "[フィールド1] = 'あ'") にすると、型が一致しません。(Error 13)になります。 ご教授よろしくお願いします。

  • Accessでの抽出について

    Accessでのクエリーでの抽出の方法を教えてください。 たとえば「12345678」といったIDをもたせた人のデータが日付ごとにいくつかレコードがある場合に、クエリーのID欄の抽出条件欄には、「12345678」と入力すれば、その人のデータのみが表示されると思います。 そこで、 (1)その中の日付から、最新のものから3つを抽出したい場合。 (2)その中の日付から、2番目に新しいものを抽出したい場合。 において、クエリーの抽出条件になんて書いたらよいのでしょうか? できましたら、(1)(2)それぞれお答えいただければ幸いです。 どうぞよろしくお願いいたします。

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • アクセス クエリ抽出

    アクセスのクエリについてお伺いします。各フィールド毎に行をずらして抽出条件を入れて、1つでも条件があった場合にはそのデータ全てを抽出するようにしています。その抽出されたデータの中で、条件が一致したものについてのみフォントの色(例えば:赤)を変えて表示する事はできないでしょうか。よろしくお願いします。

専門家に質問してみよう