• ベストアンサー

access 条件文についての質問

meteo2の回答

  • meteo2
  • ベストアンサー率0% (0/1)
回答No.5

連投で失礼します。 さっきの回答に間違いがありました。 フォームのコントロールソースへは、さっきの記述ではエラーになります。 正) =nz([次診断日],DateValue([初診日])) クエリのフィールド値ではどちらでもエラーにならないようです。 最新診断日: nz([A].[次診断日],DateValue([A].[初診日])) 最新診断日: nz([次診断日],DateValue([初診日]))

ownmart
質問者

お礼

ご丁寧にありがとうございました。 こちらもためしたところ、表示が遅くなりました。 とりあえず下記で解決しました。 ありがとうございました。

関連するQ&A

  • ACCESSで質問です

    ACCESSで質問です。 利用するのは  フォームZ  フォームZ内にコンボボックスA、コンボボックスB  商品テーブル  部門テーブル  振分テーブル  詳細テーブル になります。 やりたいこと (1)コンボボックスA、コンボボックスBがあるフォームZで、コンボボックスAで選択した値を元にコンボボックスBの値を絞りたいです。 (2)変更した値がフォームZを開いた時に表示されるようにしたいです。 現在の設定 フォームZはデータを更新する画面で、コントロールソースで商品テーブルの各項目に値を読み込ませています。 この時、コンボボックスAは商品テーブルに登録済みの部門テーブルの区分を、 コンボボックスBは商品テーブルに登録済みの詳細テーブルの保障を表示させるようにしたいです。 現在うまくいかない点 コンボボックスBに登録済みの初期値が反映されません。 各テーブルの中身は以下の様な感じで、部門テーブルのIDが振分テーブルのIDとリンクし、 振分テーブルのNoが詳細テーブルのNoとリンクしています。 部門テーブル(コンボボックスA)  ID(1カラム目):区分(2カラム目)  1:テーブル  2:チェア  3:ソファ  4:テレビ台  5:本棚 振分テーブル  ID(1カラム目):区分(2カラム目):保障(3カラム目):No(4カラム目)  1:テーブル:1年:1  1:テーブル:2年:2  1:テーブル:3年:3  1:テーブル:5年:4  1:テーブル:10年:5  2:チェア:1年:1  2:チェア:2年:2  2:チェア:3年:3  2:チェア:5年:4  2:チェア:10年:5  3:ソファ:1年:1  3:ソファ:2年:2  3:ソファ:3年:3  4:テレビ台:1年:1  4:テレビ台:3年:3  4:テレビ台:5年:4  5:本棚:1年:1  5:本棚:5年:4  5:本棚:10年:5 詳細テーブル(コンボボックスB)  No(1カラム目):保障(2カラム目):金額(3カラム目)  1:1年:10,000  2:2年:19,000  3:3年:24,000  4:5年:35,000  5:10年:50,000 コンボボックスA  コントロールソース:区分  値集合タイプ:テーブル/クエリ  値集合ソース:SELECT 区分,ID FROM 部門テーブル  列数:2  列幅:2;0 コンボボックスB  コントロールソース:保障  値集合タイプ:テーブル/クエリ  値集合ソース:SELECT 保障,金額,No FROM 詳細テーブル  列数:3  列幅:1;3;0 どなたかご教示頂けないでしょうか。 宜しくお願い致します。

  • accessレポートの抽出条件

    こんにちわ。 いまaccess2000で, フォームからレポートを出力する処理をしています。 そのレポートは[コントロールソース]としてあるクエリを設定しています。 そこで, DoCmd.OpenReport "r_帳票", acPreview, , "[番号] = 'a100'" とコーディングしました。 なおレポートの[フィルタ]プロパティは"はい"にしています。 ところが,出力されたレポートには条件で抽出されずに 全件が出力されてしまいました。 抽出条件を効かせるためにはどうすれば良いでしょうか? 教えてください。お願いします。

  • ACCESS SQLビューで条件分岐の処理速度

    いつもお世話になっております。 ACCESS 操作、ACCESS VBAどちらも超初心者です。 テーブルAの伝票NOとテーブルBの伝票NOが 一部一致(伝票NOが10ケタならば左5ケタ、伝票NOが8ケタならば左4ケタが一致)したら、テーブルBの伝票NOに該当する伝票名を表示させるクエリを作成しました。 2つの伝票NOが完全一致していないので、リレーションシップが使えないと思い、 SQLビューでIIFとLEN,LEFTを使っているのですが、 かなり表示させるスピードが遅くなってしまいました。 表示はメインフォームにテキストボックスをつくり、そこに検索するテキストを入力→上記のクエリから検索した結果を別の表示フォームで表示させる…としているのですが、 処理速度を上げる方法はないでしょうか? 初心者にもわかりやすく教えていただけたらと思います。

  • Access テーブルフィールドの指定方法

    フォームの場合 no = 1 a = "test" + CStr(Format(no, "00")) b = Me.Controls(a) というようにフィールド名"test01"をControlsを使って指定でますが。 テーブルの場合 フィールドを指定するには、上記「Controls」と同じ機能はなんと記述したらよろしいでしょうか?

  • ACCESS 教えて下さい

    前も似たような質問をしたのですがうまく応用が出来なかったので再度ご教授お願い致します。 テーブルA 商品NO SS  S   A   B   C A001  1000 2000 3000 4000 5000 A002   500 700 800  900 950 A003  1500 2500 3000 4500 5500 テーブルB 会社名 会社ランク AAA  SS BBB  S CCC  A があります。 二つをくっつけて受注管理のクエリをつくりました クエリA 購入日 会社名 会社ランク 商品NO 金額 この中で AAAの会社がA001の商品を買ったら金額欄に1000 BBBの会社がA002を買ったら  700 と表示させたくて、 クエリAの金額欄に 金額: IIf([会社ランク]=A,(SELECT A FROM テーブルA WHERE 商品No = 商品No),IIf([会社ランク]=SS,(SELECT SS FROM テーブルA WHERE 商品No = 商品No),IIf([会社ランク]=S,(SELECT S FROM テーブルA WHERE 商品No = 商品No),0))) としたのですが、できません。 間違いのご指摘と、どうすればよいかを教えて下さい。 宜しくお願い致します。

  • 別テーブルに保存したいのですが

    アクセスでAテーブルからフォームを作り、そのフォームに別のテーブルBにある項目を追加したいのですが、 A,Bはnoでリレーションが設定してあります。 ツールボックスからテキストを追加してコントロールソース設定しましたができませんでした。 マクロで値の代入しましたが設定が違うのかできませんでした。 できるだけ簡単な方法でお願いします。

  • Access2003にて・・・

     こんにちは。Accessにて、詰まってしまいまして、お知恵をお借りできればと思っています。よろしくお願いします。 Access2003 にて テーブルAには、 品番、品名、単価の3つのフィールドがあります。 このテーブルをもとにして、フォームAを単票形式で作成しました。 このフォームを、品番を登録したりするためではなく、品名や単価の確認用として使用したいと考えています。そこで、「品番」コントロールに品番を入力すると、あとの2つのコントロールに自動でデータが表示されるようにできればいいな、と思いました。  「品番」コントロールはコンボボックスに変更し、テーブルAの品番から値を取得するよう設定し、ここを入力したあと更新後処理であとの2つのコントロールに値を表示するような設定をするのかな、というところまで至って、はてここにどのような処理を書き込めばいいのかで詰まってしまいました。  このやり方がそもそも間違っているのかもしれません。テーブルをもとにするのではなく先にクエリを作っておくのがいいのかもしれませんが、自分なりにいろいろ試してみたのですが、なかなかうまくいかなくて…  何か方法はありますでしょうか?他にここへ組み込むサブフォームやら、別のフォームを表示させるボタン等考えているのですが、上記の方法ができるかできないかでフォームAのつくりを変えようと思っているので、とりあえずは必要と思われることだけ書きました。言っていただければどんどん補足させていただきますので、何か方法がございましたらご教授お願いいたします。 (ちなみに、私のAccessレベルは初心者でございます…)

  • アクセスのクエリ抽出ができない。

    アクセスのクエリで、フォーム上のチェックのオンオフで抽出データの抽出条件を変更しようと思っています。 条件は、データの作成日付(yyyy/mm/dd形式)で、抽出の条件式は IIf([Forms]![F_送付状]![チェック40]=False,>=DateAdd("m",-1,Date()),>"0") です。チェック40がフォーム上のチェック(コントロールソースなし)で、オフの場合は、1ヶ月前までのデータを抽出、オンの場合は全件を抽出したいと思っています。 上記の式でうまく抽出できない(データが抽出できない)のですが、アドバイスをお願いします。

  • Accessのリストボックスを使って抽出

    抽出用のフォームを作成しているのですが、その中にリストボックスがあり、何も選択しなかった場合は、すべての項目が表示される様にしたいと思っております。自分なりに色々と調べたのですが、どうしても希望の動作になりません。どの様にすれば良いのか教えて頂けないでしょうか? Access2003を使用しております。 Form-A(メインフォーム名)←テーブルAを元に作成(項目名同じ) 番号(主キー)、氏名、性別、A1、A2・・・ A1、A2は、する・しないのどちらかを入力。 Form-B(サブフォーム名)←テーブルBを元に作成(項目名同じ) ID(主キー)、番号、担当、訪問日、次回訪問日、期間 担当は、値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあ(フィールドは担当のみ)5名程の名前を登録しし、リストボックスにて選択できる様にしています。 現在、下記の様な抽出用のフォームがあります。 Form-抽出(抽出用フォーム名) A1(チェックボックス) A2(チェックボックス) 担当(リストボックス:値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあを設定) [OK]ボタンを押すと抽出(クエリQにて条件を設定)する様にしています。 クエリQ(テーブルA、テーブルBを元に作成) 番号(主キー)、氏名、性別、A1、A2、ID(主キー)、番号、担当、訪問日、次回訪問日、期間 現在設定しているのは、 A1の抽出条件:IIf([forms]![Form-抽出]![A1]=True,True,False) A2の抽出条件:IIf([forms]![Form-抽出]![A2]=True,True,False) 担当の抽出条件:[Forms]![Form-抽出]![担当リストボックス] 訪問日の抽出条件(複数情報がある為、最近の訪問日のデータのみ対象となる様にしています。):DMax("訪問日","テーブルB","[テーブルB]![番号] ='" & [テーブルB]![番号] & "' And 訪問日 <Date()") 今の設定ですと、担当を選択しなかった場合、何も抽出されてきません。 これを、すべて表示出来る様にしたいのが希望です。 Access初心者の為、説明がわかりづらかったり情報が足りないかもしれませんが、すぐに補足致しますので、どうぞよろしくお願い致します。

  • accessのレポートで…

    レポート(テーブル1から作成)にあるフィールド1には「1・2・3…」という数字が入っています。 この1・2・3はテーブル2(ID・名前)とリンクしています。 フォーム上ではコンボボックスにして、テーブル2の名前も表示するようになっています。 (テーブルに値としては入っていません) これでレポートを作成した場合、テーブル2の名前を表示させたいのですが、テキストボックスで Iif([フィールド1] = "1","****",Iif(… というようにしてしまうと、せっかくリンクにしたのにデータが固定になってしまうのを避けたいんです。 フォームだとコンボボックスの更新後処理とレコードの移動にコードをかけば最新の情報を表示することができたんですが、レポートでもこのようなことはできるんでしょうか? (コードをかいて処理したいです) Access2000です。 よろしくお願いします。