• ベストアンサー

Accessの削除クエリについて

『先月分のデータを全て削除』という削除クエリを作りたいのです。 本を見ても、 『指定した日の○日前の分までのデータを削除する』はあるのですが・・・・。 例えば、 5月5日にクエリを実行しても、5月10日にクエリを実行しても、4月30日以前のデータが削除されて欲しいのですが。 よろしくお願いいたします。

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

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

>『先月分のデータを全て削除』 ということであれば下記条件で削除クエリを作成 すればできます。 --- フィールド:式:Month([対象日付フィールド]) 抽出条件:Month(DateAdd("m",-1,Now()))

その他の回答 (1)

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

この例では先月の日付(4月)を求めればできるのではないでしょうか。 条件式に「カラム >= "2006/04/01" and カラム <= "2006/04/30"」を追加すればいけませんか?

uniikura99
質問者

お礼

ご連絡ありがとうございます。 この式ですと、6月になったら、05/01とまた式を入力し直さないといけないですか?? 6月になったら自動的に5月分が削除されるようにしたいのですが。

関連するQ&A

  • Accessの削除クエリについて

    Access2000でODBCを使ってMySQLへリンクテーブルを作成しています。 このテーブルを元に削除クエリを作成し、実行すると DATA 800件で約3分程度かかってしまいます。 ネットで色々調べてみたのですが、 高速化の記事を見つけることができません。 クエリのプロパティでトランザクションの使用を"いいえ"に変えて みたりしましたが全く効果がありません。 削除クエリを高速化するには、どうしたら良いのでしょうか?

  • Access2000の削除クエリで消してしまったデータの復旧

    Access2000を使用していますが、うっかり抽出条件を入れるのを忘れて削除クエリを実行してしまい、テーブルの中のレコードをすべて消してしまいました。バックアップを取っていなかったので、データが無います。 何か削除したレコードを復旧させる方法はありますでしょうか。難しいとは思いますが、どうぞ宜しくお願いいたします。

  • Accessのクエリについて

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

  • アクセスのクエリでレコード削除ができません。

    アクセス超初心者です。 テーブルを商品コードでくっつけて、クエリのデザインビューで表示しました。 いらないレコードを削除しようとしたところ、できません。 くっつける前の、テーブルではできますが、クエリで実行させ、レコードを削除しようとしたところできません。 どうしたらよいのか教えてください。 あと、もうひとつ、クエリで、出力したいフィールド名をドラッグしたあと、削除したいときには、どうすればよいでしょうか? 表示しないなら、できるのですが・・・。削除がわかりません。 よろしくお願いいたします。

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

    アクセス2000の削除クエリーを実行すると、「削除できません」の表示がでます。テーブルを2つ(AとB)追加して、顧客CDでリレーションを組みます。テーブルAからはアスタリスクマークをドラッグしてますので、FROMがでます。テーブルBの顧客CDをドラッグするとWHEREがでます。つまり、テーブルBにある顧客CDを全部テーブルAから削除したいのですが、データウィンドウは表示されますが、削除を実行すると、「削除できません」の表示がでます。アクセス2.0では可能だったのですが、アクセス2000ではなぜできないのでしょうか??

  • アクセス削除クエリ「複雑すぎてできません」のエラー

    テーブルA(フィールド40個)があります。 削除クエリで、From *Aテーブル(すべて) フィールド30個 について Where  0 (数字ゼロ) の条件を入れます。 これを実行すると「クエリが複雑すぎてできません」が でてきます。 フィールド30個についてすべて0のレコードを削除したいのです。 どういう条件を入れればいいでしょうか?

  • アクセスのクエリについて教えてください

    契約日付が数値になっているテーブルを更新クエリで日付形式にし、契約期間が1年未満のデータは削除したいと思っています。 例) (1)20110401 → 2011/04/01 Left(元データ,4)&"/"&Mid(元データ,2)&"/"&Right(元データ,2) という式で更新クエリを作り、契約開始日、終了日とも日付形式にしました。 (2)契約期間1年以上のデータを特定する 契約開始日<="2011/03/31"で契約終了日>="2012/03/31" というテーブル作成クエリを作りました。 しかし、契約終了日がブランクのデータがあり、そのデータも(2)に含めたいと思っています。 ただのブランクであれば、契約終了日の条件式にor Null でいいのかなと思ったのですが、 (1)で更新クエリを実行しているため、ブランクではなく「//」が入っています。 どのような式にすれば、「//」データも含むことができますか? アクセスに詳しくなく、わかりにくい説明で申し訳ありませんが、助けてください。

  • ACCESS パラメータクエリの設定

    ACCESSでデータの抽出をしています。 抽出をしたいキーワードが15個ほどあり、そのつどクエリを作るとかなり時間がかかります。データは(20万件ほどです) そこで本を見たところパラメータクエリというものがあり、早速試してみたのですができません。 テーブル名は”本”です。 フィールド1…番号  フィールド2…雑誌名 フィールド3…著者  フィールド4…JANコード になっています。 私はフィールド2のところで抽出条件として "[雑誌名を入力してください]" と入れました。 後もう一点ですが、同一雑誌でも名前が少し違って登録されているものもあり、重複するデータを抜き出して削除したいのですが、削除分と削除された残りのデータが共に必要です。こういった場合はどう処理するのが妥当でしょうか?削除分は別に保存した上で、不一致クエリを使えば正確にできますか?もっとよい方法がありますか? どうぞよろしくお願いいたします。

  • Access2003  クエリ フィールドデータの削除

    Accessの質問です。 Access超初心者です。 仕事でデータが自動で入れ替えするプログラム作成を依頼されましたが、Accessの使い方がよく分からず悩んでおります。 質問は下記となります。 (1)クエリの設定にて、フィールド自体は残すが、 データだけすべて削除する方法 (2)クエリの設定にて、フィールドの一行目だけを残し、すべて削除する方法 お手数お掛けいたしますが、ご回答宜しくお願いいたします。

  • Access 削除クエリでのエラー

    WIN2kでAccess2000を使用しています。 テーブルTrnPLNNOにあるデータのうち、 品目コード(PLNNO)がテーブルM_PLNNOに無いものと、 TrnPLNNOの日付(T_DATE)がM_PLNNOの日付(M_DATE)よりも古いものを削除したいと思い、 下記のような削除クエリを作りました。 しかし実行すると 「指定されたテーブルから削除できませんでした」 というメッセージが表示され、削除することが出来ません。 データシートビューでは削除したいものが出てくるのですが…。 どのようにすれば削除できるのか教えていただけませんか? 宜しくお願いします。 DELETE TrnPLNNO.* FROM TrnPLNNO LEFT JOIN M_PLNNO ON TrnPLNNO.PLNNO = M_PLNNO.PLNNO WHERE ((M_PLNNO.PLNNO) Is Null) OR M_PLNNO.M_DATE>TrnPLNNO.T_DATE);