OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ACCESSの複数条件での結果を表示

  • 暇なときにでも
  • 質問No.249443
  • 閲覧数1079
  • ありがとう数2
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 48% (19/39)

今、貸アパートの水道料金請求のデータベースをACCESSで作っていますが、クエリで水道使用量:[先月検針]ー[今月検針]で当月の使用量まで出しました。使用料金:IIF(水道使用量]<100,とIIF関数を使おうと思ったんですが、これでは条件は1個しか指定出来ないですよね。使用料金は例えば、100未満が300円、100以上200までが400円と20個くらいに使用量によって、金額を変えて表示したいのです。IIF関数では、条件が1個しか指定できないのでしょうか?EXCELではAND関数とかを組み込むとたくさんの条件を指定できますが、ACCESSではどうすればいいのでしょうか?LOOKUP関数みたいなのがあるのでしょうか?教えて下さい。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.5
レベル14

ベストアンサー率 39% (813/2055)

再登場
 遅くなりました。なんせ月曜日まで出張なもので・・・
 気になっていたものでインターネットカフェから書いております(笑)

 先の回答は、前月量と当月量を入力して請求書などを印刷する時の方法です。
  だって入力データと料金データを入力してはいけませんよね?
>それをクエリで、伝票NO,日付、入居者ID、氏名、家賃、共益費、当月量、先月量、使用量、水道代という、請求書入力フォームを作ろうとしました。
 お待ちどうさま DLOOKUP関数の説明です(笑)
 使用量:当月量-先月量
 水道代: DLookUp("水道料金","水道料金TBL","水道量 = " & Int(([当月量]-[先月量]+9)/10)*10)

 で入力出来るクエリーになります。
 したがって計算クエリ2は不要になります(汗)

忠告)
>たくさんの本をはしごしながら・・・
 1.初心者にありがちなのは95%位出来ると5%を作ろうとする
   だめでも作ろうとする、作った95%を壊せない、
   どうしても駄目なら最初からということが出来ない
 2.システムを先に考えるとにっちもさっちもいかなくなる
対策
 どの本でも回答1の参考URLでもどこでもいいから
 書いてある通りに作って見る
 するとこういう使いかたをするのだとかが分かる

参考になれば幸いです
何か有れば補足して下さい。
但し再回答が送れることをご了承下さい。
がんばって下さい。
お礼コメント
kikochama

お礼率 48% (19/39)

本当にありがとうございました。バッチリです。本当に助かりました。両親に作ってあげるって言ったものの、1週間悩んでました。ちゃんと設計していないまま、考えながら、質問しながら作っていたので、質問が的を得ず、ころころ変わって迷惑をおかけしましたが、快く教えて下さったことに本当に感謝します。今はとてもHAPPYな気持ちでいっぱいです。ありがとうございました。
投稿日時 - 2002-04-13 11:23:58
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル14

ベストアンサー率 39% (813/2055)

>IIF関数では、条件が1個しか指定できないのでしょうか?  IIF文の入れ子で対応します。  A: IIf([項目]=210,1,IIf([項目]=220,2,3))  項目が210なら1を設定  項目が220なら2を設定  項目がそのたなら3を設定 >LOOKUP関数みたいなのがあるのでしょうか?  CHOOSE関数があります。 >ACCESSではどうすればいいのでしょうか?  案) ...続きを読む
>IIF関数では、条件が1個しか指定できないのでしょうか?
 IIF文の入れ子で対応します。
 A: IIf([項目]=210,1,IIf([項目]=220,2,3))
 項目が210なら1を設定
 項目が220なら2を設定
 項目がそのたなら3を設定
>LOOKUP関数みたいなのがあるのでしょうか?
 CHOOSE関数があります。
>ACCESSではどうすればいいのでしょうか?
 案)クエリーを料金別に作成して後でまとめる

御土産
http://www.accessclub.jp/
http://ws.31rsm.ne.jp/~pension/access/ota2001/contents.htm
http://www.mahoutsukaino.com/

参考になれば幸いです
補足コメント
kikochama

お礼率 48% (19/39)

早速返事ありがとうございます。IIF関数で一度やってみましたが、条件が10件以上になると、条件が複雑すぎますというエラーが出てしまい、ダメでした。(結局条件は50件ありました。)CHOOSE関数はヘルプを見たんですが、よくわからず、参考URLでいろいろ調べたところ、DLOOKUP関数というのが使えそうでは、と思いました。別に料金のテーブルを作って、参照させるってことだと思いますが、クエリに条件を入れれるのでしょうか?出来るとした、どういう風な式を作ればいいんでしょうか?あまりよくわかってなくて、変な質問で本当にすみません。よろしくお願い致します。
投稿日時 - 2002-04-09 23:17:35
  • 回答No.2
レベル14

ベストアンサー率 39% (813/2055)

再登場(遅くなりました。昼人間なもので・・・) >DLOOKUP関数というのが使えそうでは、と思いました。  結論   使えません  理由   キー(今回は水道量)が範囲の為 対策案  1.水道量テーブルを作成(既存)  2.水道量クエリ1を作成(<100の金額設定)   クエリ内容    水道量  金額:IIF(水道量<100,300円,0円)  3.水道量クエリ2を作成(<2 ...続きを読む
再登場(遅くなりました。昼人間なもので・・・)
>DLOOKUP関数というのが使えそうでは、と思いました。
 結論
  使えません
 理由
  キー(今回は水道量)が範囲の為

対策案
 1.水道量テーブルを作成(既存)
 2.水道量クエリ1を作成(<100の金額設定)
  クエリ内容
   水道量  金額:IIF(水道量<100,300円,0円)
 3.水道量クエリ2を作成(<200の金額設定)
  クエリ内容
   水道量  金額1:IIF(水道量>=100 AND 水道量<200,400円,金額) 
 4.水道量クエリ3を作成(<300の金額設定)
  クエリ内容
   水道量  金額2:IIF(水道量>=200 AND 水道量<300,500円,金額1)
 
のようにクエリーの入れ子にして違ったら前の金額を流用する
という案はいかがでしょうか
 参考になれば幸いです
 頑張って下さい
補足コメント
kikochama

お礼率 48% (19/39)

早速ありがとうございます。これは50個条件があればクエリを50個作らないといけないということですよね。
よくよく考えると条件は範囲ではなくて、=で出せるみたいなんですけど、それならDLOOKUP関数は使えるんですか?
最初からゆっくり頭を整理して、考えてから質問すればよかったのに、何度もややこしいことを聞いて、本当に本当に、ごめんなさい。教えて下さいませんでしょうか?。すみませんm(__)m
投稿日時 - 2002-04-10 11:30:17
  • 回答No.3
レベル14

ベストアンサー率 39% (813/2055)

再登場 >条件は範囲ではなくて、=で出せるみたいなんですけど・・  だとするとテーブルの結合で十分です。 以上??? >テーブルの結合方法ですが  複数の条件にあてはまるものを複数のフィールドに。  http://oshiete1.goo.ne.jp/kotaeru.php3?q=245652 を参考にして下さい。 頑張って下さい。 ...続きを読む
再登場
>条件は範囲ではなくて、=で出せるみたいなんですけど・・
 だとするとテーブルの結合で十分です。

以上???
>テーブルの結合方法ですが
 複数の条件にあてはまるものを複数のフィールドに。
 http://oshiete1.goo.ne.jp/kotaeru.php3?q=245652
を参考にして下さい。
頑張って下さい。
補足コメント
kikochama

お礼率 48% (19/39)

度々すみません。水道代検針は12ヶ月保存し、更新クエリで月次更新する仕組みにしました。フォームで当月だけを入力して、クエリーで使用量:[当月]ー[先月]を出しました。その使用量はクエリで演算したので、その結果を何かの方法で、テーブルに保存して、料金テーブルと結合するってことでしょうか?そうであったならば、クエリの演算結果を新しいテーブルもしくは既存のテーブルに保存する方法を教えて下さい。
半日ああでもないこうでもないとやっているうちに、頭がパニックになってきました。いまいちわかりにくい説明ですみません。
投稿日時 - 2002-04-10 17:20:52
  • 回答No.4
レベル14

ベストアンサー率 39% (813/2055)

再登場  はい深呼吸 すべて書きますので現在のアクセスをコピーしてください テーブル  水道量TBL   名前  テキスト型   当月量 数値型 長整数型    先月量 数値型 長整数型    Aさん 100 85    Bさん 200 155    Cさん 100 75  水道料金TBL   水道料 数値型 長整数型 値要求=はい インデックス=はい重複なし   ...続きを読む
再登場
 はい深呼吸
すべて書きますので現在のアクセスをコピーしてください

テーブル
 水道量TBL
  名前  テキスト型
  当月量 数値型 長整数型 
  先月量 数値型 長整数型
   Aさん 100 85
   Bさん 200 155
   Cさん 100 75
 水道料金TBL
  水道料 数値型 長整数型 値要求=はい インデックス=はい重複なし
   10 1100
   20 2200
   30 3300
   40 4400
   50 5500
クエリ
 計算クエリ1
  フィールド
   名前
   当月量
   先月量
   使用量:当月量-先月量
   金額使用量:INT((当月量-先月量)+9)/10)*10 注)ここが重要
 計算クエリ2
  テーブル
   計算クエリ1
   水道料金TBL
    計算クエリ1の金額使用量をドラッグして
    水道料金TBLの水道量に持っていく(線が結ばれる、結合)
  フィールド
   名前
   当月量   計算クエリ1
   先月量   計算クエリ1
   使用量   計算クエリ1
   金額使用量 計算クエリ1
   金額    水道料金TBL

ほら出来た。パチパチパチ
参考になれば幸いです
 
補足コメント
kikochama

お礼率 48% (19/39)

本当にありがとうございます。おかげでバッチリ出来ました。すごくうれしかったです。
それでまた、次のステップでまたつまずきました。

入居者テーブルにID,氏名、家賃、共益費、当月量、先月量というフィールドがあり、請求テーブルに伝票NO,日付、入居者IDがあります。
それをクエリで、伝票NO,日付、入居者ID、氏名、家賃、共益費、当月量、先月量、使用量、水道代という、請求書入力フォームを作ろうとしました。
伝票NO,日付、入居者ID,氏名、家賃、共益費、当月量、先月量、使用量まではクエリで作成し、水道代計算クエリ2の水道代を追加すると、新しいデータを入力出来なくなるんです。請求テーブルに入力されたデータしか表示されないのはなぜでしょう?

希望としては請求書フォームで顧客IDだけ入力すれば、家賃などは表示されますが、水道当月量だけを入力して、先月量は入居者テーブルから自動表示させ、使用量、水道代を計算させたいんです。水道代の表示でどうしてもひっかかります。クエりでは計算できてるのに。。。

たくさんの本をはしごしながら、やってみましたが、独学なので、基本的なことがわかってない気がします。すみません。
何度も本当にすみませんが、よろしくお願いいたします。
投稿日時 - 2002-04-11 16:01:57
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ