• ベストアンサー

Accessクエリに入力する式について教えてください。

こんにちはWin98SE/Access2000です。 例えば AフィールドのチェックボックスがONで尚且つ、Bフィールドに数値型の値が入っていて、さらにCフィールドに日付が入った時に DフィールドにBフィールドの値を取込むと言う作業をAccessにさせたいのですが、Accessのクエリ(デザインビューのフィールドか抽出条件に設定)で関数又はSQLを使用して実現できますか。 もし出来るようでしたら、例的なもので結構ですので式等アドバイスをいただけないでしょうか宜しくお願いします。 (関数&SQL初心者です。)

  • tokin
  • お礼率67% (38/56)

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

  • ベストアンサー
  • taranko
  • ベストアンサー率21% (516/2403)
回答No.1

デザインビューの抽出条件に A・・・-1 B・・・Is Not Null C・・・Is Not Null Dのレコードの更新に、Bのフィールド名を入力します。 これで、クエリーを更新クエリーにすればできると思います。 ※Cの抽出条件と、DでIs Nullの条件を入れないといけないか わかりませんので、そのあたりは判断してください。 Dの条件にIs Nullをいれると、Null値のところだけBの 値が入ります。 いかがでしょうか。

tokin
質問者

お礼

tarankoさん早速アドバイスありがとうございます。 分かりやすく親切な説明助かります。 ヘルプを見てもさっぱり分からなかったので本当に助かりました! tarankoさんのアドバイスを元に色々やってみたいと思います。 本当にありがとうございました!

関連するQ&A

  • アクセス クエリ

    アクセス クエリの抽出について教えて下さい。例えば、1つのクエリの中に数値のフィールドが5つ作成してあり、それぞれ違うフィールドの抽出条件をしています。それぞれの条件を入れてしまうと5つのフィールド条件全てに合ったものしか抽出できません。 5つのフィールドのうち、どれでも1つ一致したら抽出できるようにしたいのですが良い方法を教えて下さい。宜しくお願いします。

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。

  • accessのクエリで入力が不可能…

    【テーブルA】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔テキスト型〕 フィールド4〔数値型〕 【テーブルB】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔数値型〕 フィールド4〔テキスト型〕 となっています。 両方のテーブルを使い、クエリを作成しました。 リレーションが、テーブルAのフィールド1と、テーブルBのフィールド3に設定してあります。 このようにして作成したクエリでデータの入力ができません。 なぜでしょうか? Access2000です。

  • accessクエリの抽出条件

    access初心者です。 フィールド:「年」 数値型 フィールド:「月」 数値型 があり クエリの抽出条件に 年:2001 月:11 でクエリが実行できます。 これを当月分をクエリ実行できるように 年:year(date()) 月:month(date()) のように入れて当月のレコードを抽出したいのですが 「式に未定義関数dateがあります」というメッセージが出ます。どこが間違っているか助言をいただけると助かります。

  • AccessのクエリをSqlサーバーのクエリへ変換

    Accessで書かれたクエリをSqlサーバーのクエリに変換したいと考えているのですが そのクエリは膨大な行数ある上にIIF関数やSwitch関数がそこら中に含まれており、一つ一つ置換していられません。 もしどなたかIIF関数などのAccessのクエリをSqlサーバーのクエリへ変換してくれるソフトをご存知の方いらっしゃいましたら教えていただければ幸いです。 よろしくお願いいたします。 ◆バージョン SQL Server:SQL Server 2008 R2 ACCESS:ACCESS2000 OS:Windows7

  • Accessのクエリーで、mymax関数を使ったら

    1)Accessのクエリーで、1レコード内の複数フィールドの数値の最大値を表示させるため、「mymax」関数を使用しました。 その結果が数値型でなくテキスト型で表示されてしまうため、分析に不都合で 2)テーブル作成クエリーにしてテーブルにしてから、テーブルデザインで数値型に変更し、 3)それを抽出クエリーで並べ替えなどデータ分析に使用しています。 以上のように、3段階の手順をふまず、 1)の時点で、最大値を、数値型で吐き出させることはできますでしょうか。 バージョンはACCESS97です。 どうぞ、よろしくお願いします。

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が空白の場合は、0と表示し、(数値型)そうでない場合はフィールド1の値を表示するにはどの様にしたら良いですか? 誰か教えて下さい。よろしくお願いします。

  • Accessのクエリーのデザインを印刷したい

    Accessでクエリーをデザインビューで開くと、 四角い枠で囲まれて ・フィールド名 ・元のテーブル名 ・並べ替え ・表示/非表示 ・抽出条件 等が表示されますがこのままを印刷できないですか? SQLという形だとデータベース解析とかいうメニューで印刷できるのですが……枠に囲まれたクエリーのデザインビューのまま印刷したい。

  • Access)クエリの式の比較抽出

    Accessでクエリに式を入れてあるのですが、 その式をSQLのwhere句で抽出できないものでしょうか? クエリ(管理台帳クエリ)のフィールドの式は 次回検査日: DateAdd("yyyy",[検査周期],[最終検査日]) となっており、VBAで strSQL = "select 次回検査日 from 管理台帳クエリ where 次回検査日 <= #" & txtDate & "#" lstTbl.RowSource = strSQL を実行してもlstTblには何も表示されません。 txtDateは日付の入っているテキストボックス、lstTblはリストボックスです。 検査周期と最終検査日は、管理台帳テーブルに定義されているフィールドで、 検査周期には、1~3の数字が入っています。 ちなみに最終検査日に変えてみると、問題なく抽出できます。 いろいろ調べてもよくわからず、煮詰まっています。 次回検査日をテーブルに定義するしかないのでしょうか? よろしくお願いします。

専門家に質問してみよう