Accessのクエリの条件分岐について

このQ&Aのポイント
  • Accessのクエリの条件分岐について学びます。クエリを使用して生徒の出席、欠席をチェックし、残単位を計算する方法を解説します。
  • クエリを使って生徒の出席状況をチェックし、残単位を計算する方法をご紹介します。
  • Accessのクエリを使用して、生徒の出席、欠席状況から残単位を計算する方法について解説します。
回答を見る
  • ベストアンサー

Accessのクエリの条件分岐について

現在作成しているデータの概要から説明しますと、作業ウインドウはクエリを使用し、生徒の出席、欠席を(Yes/No型)によって出席ならチェック、欠席ならチェックなしといった感じで付けています。それで仮に次の例をあげますと お名前  授業時間  時間出席チェック  単位数  残単位 田中       1       チェック       10    9 要するにですね、まずチェックがあるかないかを見て もし、チェックがあるなら 残単位 = [単位数]-[授業時間]は行う もし、チェックがなければ 残単位 = [単位数]-[授業時間]は行わない といった計算をしたいのですが・・・。 デザインビューのヒィ-ルドから『単位数:????????』の部分をどうすればよいのか教えてもらえないえないでしょうか?

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

  • ベストアンサー
  • aptiva
  • ベストアンサー率36% (193/529)
回答No.1

残単位:iif([時間出席チェック]=Yes,[単位数]-[授業時間],0) でいいと思います。 iif関数は、一つ目のパラメータの式を評価して、真なら2つ目のパラメータを、偽なら三つ目のパラメータの式を計算した結果が戻り値になります。

u-mesh12
質問者

お礼

思い通りの結果が出すことが出来ました。アドバイスありがとうございます。

関連するQ&A

  • Accessのクエリで取得したい値の結果を返すには?

    生徒のスケジュール管理のデータベースを作成しているのですが、 クエリの(仮)データはこんな感じなんですが お名前  日付    開始時間 終了時間 授業時間 出席欄 単位数 残単位 田中  2002/10/22  10:30    11:30      1   チェック   8    7 田中  2002/10/23  11:30    13:30      2   チェック   7    5 22日に田中さんの予定が授業を1時間受けることになっていて、出席したのならチェックを付け、チェックを付けたと同時に残単位が反映される。残単位: IIf([出席チェック]=Yes,[単位数]-[授業時間],[単位数]) といった感じで値を取得し、次の予約日付23日に22日分までの残りの残単位の値を取得し、23日の単位数にその値を代入させたいのですが、このようなことは可能でしょうか? もし分かる方いましたら、アドバイス・回答をお願いします。

  • クエリの抽出条件(MS Access)

    こんにちは。 Accessファイルの編集は、一年間の内、2回ぐらいしかやりません。 初心者です。よろしくお願い申し上げます。Office2013です。 団体の出席記録をAccessで処理しようと思います。 会員数が約130名。出席記録のレコード数は、1000ぐらいです。 そのレコードから単位数合計を出す事を考えています。 抽出条件のクエリです。お教え下さい。 (会員のテーブルと、出席記録を結合したクエリです。) 例外的に、会員の中で、4名ほど、更新期限が異なる会員が居まして、 会員テーブルに、フィールド[更新期限]を設けていますが、 4名だけ、期限の日付「yyyy/m/d」を入力しています。その他の126名は、未入力(Null値)です。 この4名だけは、[更新期限]の3年前以降の出席記録を取り出したいです。 ([更新期限]が2016/8/1であれば、2013/8/2以降の出席記録。) 日付の抽出条件に、どういう風に、書いたら良いのでしょうか? Date() と書けば、今日の日付ですが、今日の日付は関係ないです。 会員テーブルのフィールド[更新期限]の日付から、3年前を条件に入れて、 例外的な4名については、3年前以降の記録を条件に加えたい。 (3年以上前の記録は、合計から除外する。) どうか、よろしくご教授下さい。よろしくお願い申し上げます.

  • Access クエリ内のクエリ

    クエリの中で、他のテーブルと一致するデータを抽出したいのですが、結果が0件の結果しかかえって来ません。 何処が間違っているのかお教え頂けたら幸いです。 何がしたいかと言うと、「dbo_VIEW_CIJ用売上伝票」の下記項目の中の「T_得意先」の中の抽出フラグのTrueデータを抽出し新しい「T_税抜」テーブルを作成したいのですが、結果は0件しかかえって来ません。 ちなみに、得意先CDのIN句を抜くとちゃんとデータは抽出されます。 《テーブル》 【dbo_VIEW_CIJ用売上伝票】(SQL Serverリンクテーブル) ・納品日付 ・伝票NO ・得意先CD ・税抜金額 ・消費税区分 ・商品名 ・摘要 ・数量 ・単位名 ・単価 ・金額 {T_得意先】 得意先CD 抽出フラグ(YES・NO型) 《抽出条件》 納品日 : >=#(開始日変数)# And #(終了日変数)# 消費税区分 : 1 得意先CD : IN(SELECT [T_得意先]![得意先CD] FROM [T_得意先] WHERE[T_得意先]![抽出フラグ]='True') 《SQL》 SELECT dbo_VIEW_CIJ用売上伝票.納品日付, "" AS 部門コード, dbo_VIEW_CIJ用売上伝票.伝票NO, dbo_VIEW_CIJ用売上伝票.得意先CD, "" AS F, dbo_VIEW_CIJ用売上伝票.税抜金額, dbo_VIEW_CIJ用売上伝票.消費税区分, "" AS 商品CD, dbo_VIEW_CIJ用売上伝票.商品名, dbo_VIEW_CIJ用売上伝票.摘要, "" AS ケース数, "" AS 入数, dbo_VIEW_CIJ用売上伝票.数量, dbo_VIEW_CIJ用売上伝票.単位名, dbo_VIEW_CIJ用売上伝票.単価, [dbo_VIEW_CIJ用売上伝票]![消費税区分]*[dbo_VIEW_CIJ用売上伝票]![税抜金額] AS tmp小計, [dbo_VIEW_CIJ用売上伝票]![数量]*[dbo_VIEW_CIJ用売上伝票]![単価] AS tmp単価計 INTO Tmp税抜 FROM dbo_VIEW_CIJ用売上伝票 WHERE (((dbo_VIEW_CIJ用売上伝票.納品日付)>=#10/21/2013# And (dbo_VIEW_CIJ用売上伝票.納品日付)<=#11/20/2013#) AND ((dbo_VIEW_CIJ用売上伝票.得意先CD) In (select [T_得意先]![得意先CD] from [T_得意先] Where [T_得意先]![抽出フラグ] = True)) AND ((dbo_VIEW_CIJ用売上伝票.消費税区分)=1)) ORDER BY dbo_VIEW_CIJ用売上伝票.納品日付; ※上記SQL文は、SQLビューを記載してますが、デザインビューで作成し、得意先CDのIN句の部分は、得意先CDにビルドを使って入力しました。 参考にしたURL http://office.microsoft.com/ja-jp/access-help/HA010206111.aspx ・サブクエリをクエリ フィールドの抽出条件として使用する Access2010 Windows7

  • クエリでカウントしつつ、チェックボックスを

    クエリでカウントしつつ、チェックボックスを使えるように(更新できるように)したいです。 アクセス2003です。 テーブル1(主キーなし) 名前   退職(Yes/No型) 佐藤   No 田中   No 佐藤   No から下のクエリを作りました。 SELECT テーブル1.名前, Count(テーブル1.名前) AS 名前のカウント, テーブル1.退職 FROM テーブル1 GROUP BY テーブル1.名前, テーブル1.退職; 結果、 名前 名前のカウント 退職 佐藤   2        No 田中   1        No となりますが、退職フィールドにチェックを入れることは出来なくなってしまいます。 カウントしつつ、更新可能なクエリにしたいのですが不可能でしょうか? 最終的には、このクエリ1をレコードソースとしてフォームに表示させたいです。 ご教示よろしくお願い致します。

  • クエリで編集できるようにしたいです。

    クエリで編集できるようにしたいです。 Access2003を使用しております。 学生さんの授業進捗管理をしていますが、全体構想としては、 一人一人が、どの課題が仕掛りで、どの課題が済みで、どの課題が次回予定か、というのを管理したいと思っています。 そこで、 「管理No」(数値型) 「姓」(テキスト型) 「名」(テキスト型) というフィールドがあるテーブル(顧客管理テーブル)を作りました。 さらに、 「課題No」(テキスト型)※数値型では 「1」 からになってしまい並び順が変わってしまう為、00001から連番にする為にテキスト型にしました。 「課題名」(テキスト型) 「仕掛り」(Yes/No型) 「済み」(Yes/No型) 「次回予定」(Yes/No型) というフィールドがあるテーブル(課題管理テーブル)を作りました。 上記2つのテーブルをクエリにしまして、 「管理No」 「姓」 「名」 「課題No」 「課題名」 「仕掛り」 「済み」 「次回予定」 というフィールド全てを使ったクエリ(課題管理クエリ)を作りました。 これであれば、クエリのデータシートでお名前毎に課題名が出てくるので、 理想的な形にはなったのですが、編集がまったく出来ません。 チェックボックスにレ点を入れることも、文字1つ編集することも出来ません。 編集できるようにするには、どうすればよろしいでしょうか? 宜しくお願い致します。

  • 嘘をついた学校を訴えることはできますか?

    年度末に国家試験を控える大学生です。 学校がカリキュラムについて嘘をついていました。 毎日の授業スケジュールが1日の前半に正規の授業、後半に補習というカリキュラムで4月から授業を受けてきました。 ガイダンスで全ての授業を一定数以上出席しないと失格になる。この「授業」というのには補習授業も含まれるという説明を受けました。 補習授業ですが内容が薄く、できれば出席せずに帰って自習した方がためになると思うような内容のもので、正直出席日数のために嫌々参加していました。 ところが1か月も経たないうちに参加する学生が減り、半分以上の学生が欠席するようになりました。もし出席に含めるならこの学生たちは全員失格になるのでは?と思っていました。 そして今日衝撃の事実が発覚しました。 実は補習は授業数に含まれていなかったんです。 しかし、そう言うと学生が補習に来なくなるので、偽の出席を取り、私たちの説明でも出欠席に含めると嘘をついていたんです。 授業に来なかった学生はそれを知っていたようです。 なぜかというと、どうやら欠席すると欠席一覧表というのが閲覧できるんですが、そこに全単位数が記入されており、その数が補習を含めない数になっていたからだということです。 私は今まで授業を一度も休んだことがなく、欠席一覧表を見たこともなかったので、単位数が書いてあることすら知りませんでした。 補習に参加していた学生は皆そういう学生ばかりなんです。 つまり、真面目にやっていた人が損をして、学校をさぼりまくっていた人が得をする結果になったんです。 何度も補習は必要ないし、出席していない学生がいるのはどういうことなのかと訴えましたが、『授業数に含まれているから。』と言いくるめられたのに、それが嘘だったなんて、あまりに酷い話しで納得できません。 大幅に勉強時間を奪われたことが悔しくてなりません。 なんとかして制裁を加えてやりたいのですが、良い方法はないでしょうか? 訴えて慰謝料請求してやりたいです。 誰か責任とって辞めるぐらいしてもらわないと納得できません。 土下座して謝罪してほしいです。 よろしくお願いします。 質問の主旨とはと違う回答はご遠慮ください。 「なんとかして制裁を加えてやりたいのですが、良い方法はないでしょうか?」この部分に対する回答をお願いします。

  • 出席率の計算方法を教えてください

    毎週、その授業は3時間あります。 7週あったうちの2週休んでしまった場合、出席率は何%になるのでしょうか? 授業数(3×7)÷欠席数(3×2) で良いのでしょうか? どなたかご教授願います。

  • 忌引は欠席扱いされないはずなのに、出席不足

    忌引が2回 公欠が4回、出席が4回 授業時間数13時間 で3分の2以上の出席が必要ということで要求されているのですが、だとすると、9時間以上出席すればいいので、4+4+2=10で条件は満たすと思うのですが、なぜだめでしょうか? 学則では以下の理由で休んだ場合は公欠扱いとし欠席扱いしない。 1)クラブ活動による公式試合による欠席 2)忌引による場合 3)教育実習の場合 4)欠席した授業と同等の講義を他クラスまたは他日程において受講したと担当教員が認める場合 正式な届出を出して休んだのに、なぜ出席不足なんですか? 他の人で 欠席5回、公欠3回(理由 4)×3回)の人は単位取れてました。

  • 大学の単位について

    体育実技の授業が15有り、残りがあと2回なのですが、テストが近いので欠席をして勉強時間に当てたいと思っています。しかし、運動神経にはあまり自信がなく評価は低いと思います。出席数が足りていても単位を落とすということはあるのでしょうか。 評価方法は運動技能、関心、意欲がそれぞれ30%で、レポートが10%です。

  • 留年の条件について。

    ある1教科だけでも単位不足だと留年になるそうです。私は体が弱くて、よく体育の授業を休んでしまいます。一週間に体育は3時間あります。一年で、どの程度体育を休むと留年になりますか? また見学は授業に出席していることになりますか?