• ベストアンサー

日付データの抽出方法を教えてください

ACCESS97のVBAで開発しています。ACCESSデータベースから該当する日付データを抽出したいのですが、YYYYのみの条件でYYYY/1/1からYYYY/12/31までのデータを抽出したいのです。SQLでできるのでしょうか?もしできるのならそのやり方を教えてください。

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

他にも、 [Field1] >= DateSerial([年を指定],1,1) AND [Field1] < DateSerial([年を指定]+1,1,1) とか… Betweenを使わないのは、時刻の入ったデータも有効にする為です。

その他の回答 (1)

回答No.1

出来ますよ! YEAR関数を使います。  Year([File01]![adddate])=1999 SQLだと  Select *  From File01  Where Year([File01]![adddate])=1999; です!

関連するQ&A

  • MS ACCESS 年月指定の抽出について

    MS ACCESS利用初心者です。 SQL ServerのデータをMS ACCESS 2010を使用しリンクテーブルで データの抽出をしたいと苦戦しております。 データにデータ型が短いテキストに日付(YYYY/MM/DD)が入っているのですが、 年月(YYYY/MM)を指定して、その年月のデータを抽出するため、 抽出条件には、どのように記述すれば良いのでしょうか。 ご協力お願いいたします。

  • データ抽出

    アクセス2003でデータ抽出をしたいと考えています。 クエリ上の複数のフィールドに同じ日付でフィルターをかけて抽出したいです。 例えば、AフィールドとBフィールドとCフィールドに2009/6/22をフィルターをかけてこの日付ににあてはまったものを抽出したいと思っています。(どのフィールドも同じ日付です) そして、抽出したデータをレポートにして、印刷したいです。 やり方はできれば、簡単なやり方があれば一番良いのですが、もしなければVBAの構文を教えて頂ければ幸いです。 よろしくお願いします。

  • 抽出条件でデータ型が一致しません。(エラー 346

    フロント:Access2003 , バック:SQL Server7.0 テーブル名 dbo_TB1(ODBCテーブル) Access2003 日付 データ型(日付/時刻型) yyyy/mm/dd SQL7.0 日付 データ型(smalldatetime) yyyy/mm/dd 以下のモジュールを実行すると、 抽出条件でデータ型が一致しません。(エラー 3464) とエラーが出てしまいます。 よろしくお願いします。 Dim myDate As Date myDate = Date   strSQL = Empty   strSQL = strSQL & "SELECT * FROM dbo_TB1"   strSQL = strSQL & " WHERE 日付 = #" & myDate & "#"   strSQL = strSQL & " ORDER BY 日付" Forms![フォーム].Form.RecordSource = strSQL

  • ACCESSでの日付抽出を教えて下さい

    Accessで日付を管理しているのですが、「yyyy/m/d h:mm」の形式から月ごとに抽出したいと考えています。テーブルで年と月と日付を別々に組めば抽出できるのですが、全て一括した形式での抽出はできるのでしょうか。

  • あるフィールドの最大値を条件にデータを抽出する方法

    Access97のVBAで開発を行っています。SQLでデータの抽出で、あるフィールドの最大値を条件に指定して抽出する方法を教えてください。最大値という曖昧な条件なため、悩んでいます。 (例)ある学校の成績テーブル(左から、学籍番号,組,氏名,性別,科目,点数) 0103,鈴木,男,国語,95 0103,鈴木,男,数学,40 0103,鈴木,男,英語,80 0104,高橋,男,国語,45 0104,高橋,男,数学,85 0104,高橋,男,英語,55 | |(SQLで各人の最高点のデータのみ抽出したい) ↓ (抽出結果) 0103,鈴木,男,国語,95 0104,高橋,男,数学,85 知っている方、是非教えてください。 お願いします。

  • 値が入っていない日付型の項目を抽出する方法は?

    いつもお世話になります。 表題の対象レコードを抽出する際にどのように指定すればよいでしょうか? テーブルには[訪問日」という項目を下記の条件で設けています。  データ型 日付/時刻型  書式、定型入力とも 日付(S) を指定 テーブルにレコードを追加した時点では日付は入っておらず、後に日付を 入力するようにしています。 それでまだ未訪問のデータを抽出したいのですが、どのように指定すればよいでしょうか? 以下の二つの抽出条件で試したのですが抽出できませんでした。  (1) =Null と指定した場合 該当レコードなしとなりました。 (2)昇順に並べ替えした場合に先頭にレコードがあったので <#2012/09/15# と指定したのですが日付が入っていて条件にあうレコードは抽出されたのですが、   日付が入っていないレコードは抽出されませんでした。

  • access2000 何日~何日の日付のデータ絞込み

    こんにちは。 access2000で、日付の期間のデーターを絞り込みしたいのですが・・。 クエリーで抽出条件にどう記入すればよいでしょうか? データーは、yyyy/mm/dd です。 2003/4/1~2004/3/31のデーターを抽出したいのですが・・。 お願いします。 それと、画面なのですが自宅は17インチ会社は15インチでフォームを作成すると、15インチに入りません・・。 自動的に画面に納まる事は出来ないでしょうか?? お願いします。

  • VBAで期間でデータを抽出するには?(Excel2003)

    いつも助けていただきありがとうございます。 Excel2003でデータベースを作成しました。 「日付」のところには、2008/11/18という形式で入力していますが、 VBAでフォームから「○○○○年○月~○○○○年○月までを抽出」として、 該当レコードを抽出するにはどうしたらよいでしょうか? いろいろ試してはみたのですが、よい方法・アイディアができませんでした。 VBA初心者です。よろしくお願いします。

  • 日付・時刻型の条件抽出方法について教えてください。

    1.accessで日付・時刻型(yyyy/mm/dd hh:nn:ss)のデータを持つフィールドから、between関数or<>の式で期間を抽出する。 2.[開始日]と[終了日]をパラメータorフォームのテキストボックスに入力して、期間抽出する。 3.[開始日]、[終了日]は日付のみ入力したい(yyyy/mm/dd)。 4.その際、[終了日]は入力した日付の00:00:00を持つレコードしか抽出されず、同日で以降の時間を持つレコードは抽出外になってしまう。 という問題を抱えています。 [終了日]に"+1"を加えたのですが、"式を評価することができません"が返ってきます。 上記を解決できる方法ご存知の方、教えていただけますでしょうか? よろしくお願いします。

  • リストボックスで複数選択した値でDBから抽出したい

    よろしくお願いします。 開発環境はVisualBasic2005、SQL Server2005Expressです。 既に同様の質問があるかもしれませんが見つけ出せなかったので質問させていただきます。 リストボックスに表示されたデータを複数選択し、その値をWHERE条件としてデータベースから該当データを抽出したいのですが、複数選択となると条件の数が可変となるため、どのような方法で抽出するのが一番良いのかわかりません。 情報をお持ちの方、何卒お願いします。