- ベストアンサー
ACCESSを使って、複数の条件に対して計算をする方法
- ACCESSを使用して、複数の条件にあてはまる計算を行いたい場合、IIF関数を使用することで実現できます。
- 具体的な例として、[開始時刻][終了時刻][氏名]をもつテーブルがあり、各項目を入力すると[終了時刻]から[開始時刻]を計算した使用時間が表示されるようにしたい場合、IIF関数を使用して[氏名]によって出力されるフィールドを分けることができます。
- 例えば、山田の場合は本部の欄に計算結果を表示し、伊藤の場合は営業部の欄に計算結果を表示することができます。複数の条件に対して計算をさせるためには、各条件に対してIIF関数を使用し、計算結果を出力するフィールドを分けるようにします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
再登場 >それをフォームでどう活かせばいいやらわかりません。 ゴメンナサイ。フォームは氏名コード、開始時間、終了時間を入力するだけです その後帳票を印刷する時にNo.2で作成したクエリーを使用するのです >IIFの中にIIFは入れられたりするのでしょうか。 =IIF(所属=”本部”,”本部”,IIF(所属=”営業部”,”営業部”,”人事部”)) のように入れ子は出来ます。上記はあくまで例です またNo.1の参考ページは見られましたか多分とっても参考になると思います。 頑張って下さい。
その他の回答 (2)
- k_eba
- ベストアンサー率39% (813/2055)
再登場 >テーブルを結合・・・ 1.勤怠テーブル作成(もう有る?) 氏名コード、開始時刻、終了時刻 2.社員マスタテーブル作成(新規作成) 氏名コード、氏名、所属(部名) 3.計算クエリ作成(新規作成) 1)テーブルの表示で勤怠テーブルと社員マスタを追加 2)クエリの上の方の表示の勤怠テーブルの氏名コードをドラッグして社員マスタの氏名コードに持って行くと線が繋がる 3)勤怠テーブルの氏名コード、開始時刻、終了時刻をダブルクリック 4)社員マスタの氏名、所属をダブルクリック 4.ビューボタンをクリック 5.ほら出来た! 参考になれば幸いです
補足
できました!…が、それをフォームでどう活かせばいいやらわかりません。 氏名コードというものがよくわからなかったけど、多分「山田」には1、 という番号のことでしょうか(本当にわからないことばかりで申し訳ありません) 社員が20名いるとして、フォームの氏名をコンボボックスにしてあります。 もう少しでイメージがつながりそうでなかなかできません。 質問ですが、IIFの中にIIFは入れられたりするのでしょうか。 よろしければまたアドバイスをお願いします。
- k_eba
- ベストアンサー率39% (813/2055)
1.3人だけの場合 IIF分の入れ子で対応する 2.テーブルに部名を入力する [開始時刻][終了時刻][氏名][部名] 3.氏名コードテーブルを作成 キー:氏名コード データ:氏名,部名 2つテーブルを結合して IIF(部名=”本部”,計算,0) とする 参考になれば幸いです 御土産 http://www.accessclub.jp/ http://www.mahoutsukaino.com/
補足
いつもありがとうございます。なんとかできそうな イメージはあるのですが、アドバイスをうまく使用する 方法がよくわからないのです。氏名コードテーブルと テーブルを結合という部分がわかりません。 初心者なもので申し訳ないのですが 詳しく教えていただけると助かります。
お礼
何度も丁寧にありがとうございました。完全にできました。 非常に奥が深くて苦労しますが、その分感動も大きいですね。 これからも勉強していきたいとおもいます。 本当にありがとうございました。