Microsoft Access ClubAccessフォーラムの過去ログIndexページAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forumサポートフォーラム

     

No73994.連続経常利益3%以下の場合は*をいれるという更新クエリについて

タイトル連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 73994
投稿日: 2010/04/20(Tue) 21:23
投稿者: ayapan
OS:windows
Access Version:2002

フィールド名 直近2期経常利益≦-3%  経常利益前年    経常利益最新年
テーブル   分析書         分析書        分析書
更新 "*" 
抽出条件  <=0.03 <=-0.03
Is Null <=-0.03


このようなクエリを組むと、経常利益が前年と最新年が3%以下のところと
前年がなく、最新年が3%以下のところは*をいれるということができると
思うのですが、なぜか2%でも*が入ってしまいました。
このクエリどこか、間違っているでしょうか?
お手数ですが、教えてください。
よろしくお願いいたします。
 

タイトルRe: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 73995
投稿日: 2010/04/20(Tue) 22:06
投稿者: スナフキン
> このクエリどこか、間違っているでしょうか?
> お手数ですが、教えてください。

なんか分かりにくいからSQLビューにしてコピーしてここに貼り付けてごらん。

タイトルRe^2: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 73998
投稿日: 2010/04/20(Tue) 22:54
投稿者: ayapan
> > このクエリどこか、間違っているでしょうか?
> > お手数ですが、教えてください。
>
> なんか分かりにくいからSQLビューにしてコピーしてここに貼り付けてごらん。

ありがとうございます!
会社で使っているアクセスなのですが、実は会社では制限がかけられていて、書き込みが
できず、家で書き込みしてみました。
今そのアクセスは手元にないのですが、明日貼り付けさせて頂こうと思ったのですが、
もう1個頂いたお返事をみて、はっとしまました!
なんて私ってば、ばかなのでしょう!
3%以下なら*をつける、だったら3%以下の2%は*が入って当然ですよね。。。。
あらあらあらあら。。。。ちょっと会社に明日いったら、もう一回、整理してみたいと思います。
もし解決しない場合は、またどうぞあきれずによろしくお願いいたします!

タイトルRe^3: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 74049
投稿日: 2010/04/21(Wed) 22:14
投稿者: ayapan
> > なんか分かりにくいからSQLビューにしてコピーしてここに貼り付けてごらん。
>

こんばんは。
度々すみません。
3%以下ならではなく、−3%以下ならという設定で、以下のようなクエリで−2%にも*が
入ってしまいました。
お知恵拝借できませんでしょうか。
よろしくお願いいたします。

UPDATE T格付協議書完成 SET T格付協議書完成.[直前2期経利≦-3%] = "*"
WHERE (((T格付協議書完成.[0306経常利益前年])<=-0.03) AND ((T格付協議書完成.[0306経常利益最新年])<=-0.03)) OR (((T格付協議書完成.[0306経常利益前年]) Is Null) AND ((T格付協議書完成.[0306経常利益最新年])<=-0.03));

タイトルRe^4: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 74063
投稿日: 2010/04/22(Thu) 08:27
投稿者: Suppaman
> 0306経常利益最新年
数字で始まるフィールド名は思わぬ動作の原因になりますよ。
見出しにどうしても 0306経常利益最新年 と表示したければフィールドの「標題」プロパティにそう設定すれば良いんですよ。

> WHERE (T格付協議書完成.[0306経常利益前年] <=-0.03 AND T格付協議書完成.[0306経常利益最新年] <=-0.03)
> OR
> (T格付協議書完成.[0306経常利益前年] IS NULL AND T格付協議書完成.[0306経常利益最新年] <=-0.03);
                 ↓
WHERE Nz(T格付協議書完成.[0306経常利益前年], -1) <= -0.03 And T格付協議書完成.[0306経常利益最新年] <= -0.03

の方がすっきりするのでは?

タイトルRe^5: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 74086
投稿日: 2010/04/22(Thu) 20:46
投稿者: ayapan
お返事ありがとうございます。

>見出しにどうしても 0306経常利益最新年 と表示したければフィールドの「標題」プロパティにそう設定すれば良いんですよ。

フィールド名を数字で始めないほうがいいとは、知りませんでした。
ありがとうございます。
クエリをデザインで開いたときに、フィールドのところをプロパティで開くと、標題というところにメモ書き
できるということを知りませんでした。
今後の参考になりました。ありがとうございます。

ところで、
教えていただいたSQLを貼り付け、デザインビューで開くとこういう風になりました。

フィールド名 直近2期経常利益≦-3%  0306経常利益前年   0306経常利益最新年
テーブル   T格付協議書完成..........T格付協議書完成.......T格付協議書完成
更新............ "*" 
抽出条件  .............................<=0.03 ...............<=-0.03
........................................Is Null ..............<=-0.03

これが、

フィールド名 直近2期経常利益≦-3%  Nz([T格付協議書完成].[0306経常利益前年],-1)  0306経常利益最新年
テーブル   T格付協議書完成...........T格付協議書完成................................T格付協議書完成
更新............ "*" 
抽出条件  ...............................<=0.03 ........................................<=-0.03

フィールド名にあるNz([T格付協議書完成].[0306経常利益前年],-1)というのは、どういう意味なのですか?

タイトルRe^6: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 74099
投稿日: 2010/04/23(Fri) 08:19
投稿者: Suppaman
> フィールド名にあるNz([T格付協議書完成].[0306経常利益前年],-1)というのは、どういう意味なのですか?
Nz関数って知りませんか?
知らないのならヘルプなどで調べてみて下さい。

タイトルRe: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 73996
投稿日: 2010/04/20(Tue) 22:07
投稿者: gaga
2%は、3%以下だからです

タイトルRe^2: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 73999
投稿日: 2010/04/20(Tue) 22:56
投稿者: ayapan
> 2%は、3%以下だからです

ほんとそうですよね。
言われてみて、あれ?なんてバカなんだ?と、あれあれ?と思ってしまいました。
あまりに当然のことで、会社に明日いったら、きちんと整理したいと思います。
問題がまだ解決しなかった場合は、またよろしくお願いします。
本当にありがとうございます!

タイトルRe^2: 連続経常利益3%以下の場合は*をいれるという更新クエリについて
記事No: 74050
投稿日: 2010/04/21(Wed) 22:16
投稿者: ayapan
> 2%は、3%以下だからです

すみません。
3%以下ではなく、−3%以下の間違いでした。
−3%以上の−2%に*が入ってしまうのです。


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています


 

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