Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルクエリで抽出条件を設定すると、パラメータクエリを聞かれる。
記事No42696
投稿日: 2011/09/14(Wed) 08:55
投稿者tama
解決済: ON
OS:XP
Access Version:2003

いつもお世話になりますm(_ _)m
まず、下記テーブルがあります。

 製作日         修理日
2010/10/08     2011/09/10
2011/03/30     2011/09/03
2008/09/30     2011/09/03
2009/12/21     2011/09/11

製作日から修理日が1年以内のものを抽出したく、下記クエリを作りました。

SELECT テーブル1.製作日, テーブル1.修理日, IIf([修理日]<[1年目],"1","-") AS 結果_年目, DateAdd("yyyy",1,[製作日]) AS 1年目
FROM テーブル1;


上記から、「結果_年目」の抽出条件に「1」と入力して、実行ボタンを押すと、パラメータクエリ「1年目」、「2年目」、「3年目」を聞いてきます。
なぜパラメータクエリを聞かれてしまうのでしょうか?「結果_年目」の「1」のみを抽出したいのですが、どなたかお分かりになる方いらっしゃいませんか?
よろしくお願いします。

タイトルRe: クエリで抽出条件を設定すると、パラメータクエリを聞かれる。
記事No42697
投稿日: 2011/09/14(Wed) 09:57
投稿者Hank
解決済: ON
まず、数字で始まるフィールド名は使わないほうが良いです。
様々なトラブルの元となります。

> 「結果_年目」の「1」のみを抽出したい
1年経たないうちに修理したものを抽出したいということですね?

SELECT 製作日
     , 修理日
     , DateDiff("yyyy", 修理日, 製作日) + (Format(修理日, "mmdd") > Format(製作日, "mmdd")) AS 結果_年月
     , [何年目を抽出しますか?] As 抽出年
  FROM テーブル1
 WHERE (DateDiff("yyyy", 修理日, 製作日) + (Format(修理日, "mmdd") > Format(製作日, "mmdd"))) < [何年目を抽出しますか?]

では?

タイトルRe^2: クエリで抽出条件を設定すると、パラメータクエリを聞かれる。
記事No42698
投稿日: 2011/09/14(Wed) 10:12
投稿者tama
解決済: ON
Hankさん。返信ありがとうございます。

> まず、数字で始まるフィールド名は使わないほうが良いです。
> 様々なトラブルの元となります。

そうでした(汗)ご指摘ありがとうございます。

> 1年経たないうちに修理したものを抽出したいということですね?

「結果_年月」の結果はマイナス表示になるのですね。しかし、なぜパラメータを聞かれるのでしょうか。。。

タイトルRe^3: クエリで抽出条件を設定すると、パラメータクエリを聞かれる。
記事No42699
投稿日: 2011/09/14(Wed) 10:20
投稿者Hank
解決済: ON
> 「結果_年月」の結果はマイナス表示になるのですね。
マイナスにはならないと思いますけど?

おっと、引数が反対でした。^^;

SELECT 製作日
     , 修理日
     , DateDiff("yyyy", 製作日, 修理日) + (Format(修理日, "mmdd") > Format(製作日, "mmdd")) AS 結果_年月
     , [何年目を抽出しますか?] As 抽出年
  FROM テーブル1
 WHERE (DateDiff("yyyy", 製作日, 修理日) + (Format(修理日, "mmdd") > Format(製作日, "mmdd"))) < [何年目を抽出しますか?]

としてみてください。


> しかし、なぜパラメータを聞かれるのでしょうか。。。
Accessが 1年目 をフィールド名として認識できないからです。 

タイトルRe^4: クエリで抽出条件を設定すると、パラメータクエリを聞かれる。
記事No42700
投稿日: 2011/09/14(Wed) 10:32
投稿者tama
解決済: ON
Hankさん。お世話になっておりますm(_ _)m

出来ました(^。^)


> > しかし、なぜパラメータを聞かれるのでしょうか。。。
> Accessが 1年目 をフィールド名として認識できないからです。

なるほど。勉強になりました。ありがとうござましたm(_ _)m

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る