Accessのフォームで、条件によって数値の書式を変えたい

このQ&Aのポイント
  • Accessのフォームで、特定の条件によって表示する数値の書式を変更したい場合、どのようにすればいいのか知りたいです。
  • フォームのコンボボックスで選択した値に応じて、サブフォームで表示する特定のフィールドの数値書式を変更する方法を教えてください。
  • 「条件付き書式設定」では色の変更はできるが、数値の書式の変更ができなかったため、VBAを使用して数値の書式を変更する方法を教えてください。
回答を見る
  • ベストアンサー

Accessのフォームで、ある項目の条件によって、数値の書式を変えたい

フォームのコンボボックスで選択した値によって、 クエリで抽出(集計)した結果を表示するサブフォームで、 [商品名]や[合計金額]フィールド等を表示しています。 合計金額の桁数が多いので千円単位表示にしたく、 [合計金額]フィールドの書式に 『#,###,;-[赤]#,###,』 と入力しました。 ここまではいいのですが、ある商品(例えば「商品A」)は絶対千円以下なので、この商品の時は[合計金額]フィールドに上の書式を設定したくないのですが、どうすればいいのでしょうか? 「条件付き書式設定」も見たのですが、条件式で 『[商品名]="商品A"』 の時に色などを変えることはできたのですが、数値の書式の設定ができませんでした。 どなたかおわかりになる方がいらっしゃいましたら、教えていただけますでしょうか。 VBAでもかまいません。よろしくお願いします<m(__)m>

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

回答が遅くなりすみません > まず、マイナス数値が『-[赤]3』(-と3はあってます)と[赤]がそのまま表示されてしまいました。 "#,###,;-[red]#,###,"にしてください。 > (3件目に「商品A」があっても書式は変更されませんでした) こちらではレコードを移動したときに商品名が商品名Aだと書式が変更されますが… ただ、帳票フォームで行ごとに設定を変更すると言うのは無理です

chibiosa
質問者

お礼

こちらこそ、何度もすみません。 [red] でうまくいきました!!ありがとうございました。 帳票フォームで行ごとに設定を変更、、と言うのはダメなんですか。。。残念です。 でも色んなことがわかりました!どうもありがとうございました。

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

No1です たとえばレコードの移動時に If Me.商品名 = "商品A" Then Me.合計金額.Format = "" Else Me.合計金額.Format = "#,###,;-[赤]#,###," End If こんな感じになるとは思います。

chibiosa
質問者

補足

kmetu 様、すぐのご回答、ありがとうございます!! ですが、うまくいきませんでした。。。 まず、マイナス数値が『-[赤]3』(-と3はあってます)と[赤]がそのまま表示されてしまいました。 あと、単票フォームで「レコード移動時」にイベントプロシージャを設定した場合は上手くいった♪<m(__)m> のですが、本来は『帳票フォーム』で作っておりまして、これだと1件目の[商品名]の値によって[合計金額]の書式が設定されているようでした。 (3件目に「商品A」があっても書式は変更されませんでした) これらの解決法もおわかりになりますでしょうか? 色々聞いてすみませんが、よろしくお願いします。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

VBAだと Me.合計金額.Format = "" で書式の設定が無しになります。 適切なイベント時の処理に適用してください。

関連するQ&A

  • ACCESS 条件付き書式の設定について

    条件付き書式の設定ですが、以下の条件での完成を目指しています。ご面倒をお掛けしますが、宜しくお願い申し上げます。 「対象オブジェクト」 フォーム名:F_商品管理 フィールド名:商品ID、商品コード、商品名、在庫数、適正在庫、原価 「やりたいこと」 (在庫数)が(適正在庫)を割った場合、対象レコード(数値・文字)のフィールド全て、又は、フィールド(複数)を赤色表示にしたいと思っています。 ・やりたいこと1  レコード(全フィールド値)を赤色にする。(在庫数が適正在庫を割った時) ・やりたいこと2  商品名と在庫数を赤色にする。(在庫数が適正在庫を割った時) 「やったこと(上手くいったこと)」 フィールド名:(在庫数)が(適正在庫)を割った時に在庫数フィールドを赤色にする。フォーム:F_商品管理をデザイモードで開いて、(在庫数)をクリックしリボンの条件付き書式をクリックし、(フィールド値)→(次の値より小さい)→(適正在庫)→(条件が真のときに使用する書式のプレビューで赤色を設定) 以上ですが、上手くいったこと以外は全くできていません。どうか、宜しくお願いします。

  • アクセス集計クエリでの書式設定

    アクセス2000を使っています。 テーブルにある「金額」フィールドをグループごとに合計する、集計クエリを作成したのですが、「金額の合計」の書式をコンマ区切りにしたいのですがどうしたら良いでしょうか? デザインビューで「金額の合計」のプロパティの書式にコンマスタイルにしたのですが、表示形式は変わりません。 「金額」フィールドはテーブルで設定している通り、コンマスタイルになっているのですが・・・。 よろしくお願い致します。

  • ACCESSの条件付書式について

    カテゴリフィールドには、3つのカテゴリが存在します。 「重要」「情報共有」「緊急」です。 そのフィールドはルックアップ列を用いてテーブルに入力されています。 そのテーブルから、サブフォームを作成し、一覧を表示させているのですが、「重要」や「緊急」のカテゴリのときだけ、色をつけたいのです。 ・・・が。条件付書式がうまくいきません。 IIF([カテゴリ]="重要",TRUE,FALSE) のように設定したりしてるのですが、うまくいきません。何が間違っているのでしょうか。 もし他の条件式などでうまく行くようであれば、そちらでもかまわないのですが、教えていただけますでしょうか。

  • access2010のフォーム上で計算したいです

    access2010 初心者です。 メインフォーム上に総合計を計算したいのですがどうしたらいいのか困ってます。 ***サブフォーム(テーブル1から表示しました)*** ・商品名(テーブル1から表示) ・金額(dlookupを使って「商品一覧表」から金額を表示しました) ・数量(テーブル1から表示) ・合計金額(コントロールリボンでテキストボックスを作り「金額」*「数量」で表示してあります) *********************** メインフォームに、サブフォームの「合計金額」の様にテキストボックスで、サブフォームの「合計金額」の『総合計』を表示したいです。 総合計がある一定の金額になるように、サブフォームの「数量」を決めて行きたいのです。だから、一定金額から『総合計』を引いて残金も表示したいのですが、『総合計』の求め方がわからなくて困っています。 総合計や合計金額はデータとしてテーブルには残らなくてもOKです。 初心者なので、できればわかりやすく簡単な方法がうれしいです うまく伝えれなくて不明な点があるかと思いますが、なにとぞお願いします

  • アクセスでの簡易入力、および、条件書式の設定について

    アクセスのプロフェッショナルの方にお聞きしたいのですが、以下にあるような処理はアクセスで処理できるのでしょうか? (1)コンボボックスで、指定の項目(Ex.9-12時、12-15時)を選択すると、テーブルの各フィールド(Ex.9時、10時、11時、12時)に数字の1を入力させる。 (2)次に、このテーブル結果を集計して、集計結果が特定の数値に満たない場合には、赤などで表示される(Ex.本来2であるべきであるが、集計結果が1である場合など)。  これは、勤務表等の利用を想定しており、数人で利用するものになります(就業人数を計算するものです)。また、集計結果はサプフォームで表示させるのですが、平日と土日では条件付き書式で赤で表示させる数値も違うので(Ex.平日は2、土日は1)、どうしたら良いか分かりません。できれば、1つのサブフォームで表示させたいのですが。  上記のようなことは処理は可能でしょうか、または、VBA等を使用しなければならないのでしょうか。  ご存知の方がいらっしゃいましたら、最も簡単にできる方法のテーブル数、クエリ数等も教えていただければ幸いです。  ご指導よろしくお願いします。

  • 条件に合う書式の数値だけを合計したりできますか。

    過去の質問も目を通したのですが見当たらなかったので質問します。(すでにあったらごめんなさい。) それぞれのメンバーが回収するべき金額がメンバーリストの横に表示されていて、それぞれのメンバーが回収終わった場合 黒で、未回収の場合は赤で金額が表示されています。 その場合に、集め終わっている金額だけを合計したいのですが、色または他の書式でも良いのですが、 書式の条件によって合計金額に含む含まないということができるのでしょうか。  よろしくお願いいたします。

  • アクセス サブフォーム条件付き書式の反映が若干遅い

    アクセスのフォームの中のサブフォーム条件付き書式を設定しています。 サブフォームにはテーブルのデータが紐づいております。 フォームを開いたと同時に条件付き書式に色付けがサブフォームに行われるようにしたいのですが フォームを開いただけだと色が付かず、サブフォームのどこかのレコードをクリックしたら色が付きます。 もしくは、フォーム上でマウスを動かすと色が付きます。 デザインビューでサブフォームに条件付き書式を設定しているので サブフォームを開くと同時に色が付くし、 サブフォーム単独で開くと、すぐ色が付きます。 親フォームを開いたと同時にサブフォームの条件付き書式を反映させる方法はありますか? アクセス2010です。 ご教授よろしくお願いします。

  • MS ACCESSで分割フォーム

    こんにちは。 ACCESSの分割フォームの表示について教えて頂きたいことがあります。 現在サブフォームのあるフォームを分割フォームで表示しています。 そして、メインフォームの[合計金額]というフィールドにサブフォームの[金額]フィールドの合計を参照させて表示しています。 分割されたデータシートの方には[合計金額]というフィールドがちゃんと載ってきます。 ただ、ここで問題が。。。 フォームを開いたとき、データシートの方の[合計金額]が、全レコード同じ値に表示されてしまいます。 一番最初のレコードの[合計金額]の値が全レコードの[合計金額]のフィールドにもずら~っと並んで入っているという感じです。 レコードを選択してみると時間差で値が正しいものに変わります。 でも、選択しないとずっと変わりません。 データがおかしいことになったかと思ってちょっと気持ち悪いので、直す方法があったら知りたいです。 お願いします!!

  • ACCESS 2007で帳票フォームで絞り込み

    はじめまして、ACCESS初心者なのですが、困っています。 商品マスターというテーブル(商品ID、メーカー名、品名、型式)があって、見積フォームの サブフォームの見積詳細フォーム中で、メーカー名、品名、型式をコンボボックスで選択できるようにしており、以前見積もりしたことのある商品をメーカー名、品名、型式をコンボボックスでテーブルから 絞り込みをしながら参照してくるようにしたいのですが、テーブル内にあるレコードと同じものを 選ぶと新しくレコードが追加されてしまいます。同じ場合は追加したくないのですがどうしたら良いのでしょうか? レコードソースはクエリQ_見積詳細で、  見積詳細テーブル(見積No、注文No、数量、単価、商品ID)と商品マスター(商品ID、メーカー、  品名、型式)を商品IDでくっつけているものです。  コンボボックスは3つあって、  1つ目のメーカーCoのコンボボックスはコントロールソース メーカー  値集合ソースはクエリでQ_メーカー  Q_メーカーは商品マスターのテーブルで  フィールド・・メーカー テーブル・・商品マスター 集計・・グループ化 表示・・ON  フィールド・・品名 テーブル・・商品マスター 集計・・グループ化  表示・・OFF フィールド・・IIf([Forms]![見積データフォーム]![見積データフォーム詳細]![品名IDCo]         _Is Null,True,[商品マスター]![品名]=[Forms]![見積データフォーム]! _[見積データフォーム詳細]![品名IDCo]) テーブル・・なし 集計・・グループ化  2つ目の品名IDCoのコンボボックスはコントロールソース 品名  値集合ソースはクエリでQ_品名  Q_品名は商品マスターのテーブルで  フィールド・・品名 テーブル・・商品マスター 集計・・グループ化  表示・・ON  フィールド・・メーカー テーブル・・商品マスター 集計・・グループ化 表示・・OFF  フィールド・・IIf([Forms]![見積データフォーム]![見積データフォーム詳細]![メーカーCo]         _Is Null,True,[商品マスター]![メーカー]=[Forms]![見積データフォーム]! _[見積データフォーム詳細]![メーカーCo]) テーブル・・なし 集計・・グループ化  3つ目の型式Coのコンボボックスはコントロールソース 型式  値集合ソースはクエリでQ_型式  Q_型式は商品マスターのテーブルで  フィールド・・型式 テーブル・・商品マスター 集計・・グループ化  表示・・ON  フィールド・・品名 テーブル・・商品マスター 表示・・OFF          抽出条件 [Forms]![見積データフォーム]![見積データフォーム詳細]![品名IDCo]  フィールド・・メーカー テーブル・・商品マスター 表示・・OFF          抽出条件 [Forms]![見積データフォーム]![見積データフォーム詳細]![メーカーCo]   上記でやると、絞りこみはできるのですが、型式で同じものが2個表示されたり、レコードが新規  で追加されてしまいます。  よろしくお願いします。

  • クロス集計クエリの合計 テキストボックスに表示

    クロス集計クエリの合計と、フォームのテキストボックスに表示させたいのですが無理でしょうか? クロス集計クエリの行見出しには会社名A社B社が入っていて、 合計 金額フィールドには各会社の合計金額が入っています。 そのクロス集計クエリを元にサブフォームを作り、 親フォームにはめ込んだのですが その親フォームにテキストボックスを設置し、 クロス集計クエリの合計 金額フィールドの合計を表示させたいのですが サブフォームのレコードをクリックするたびに、 親フォームにテキストボックスに表示される値は、そのアクティブなレコードの値になってしまいます。 テキストボックスのコントロールソースは =[テーブル1のクロス集計のサブフォーム].[Form]![合計 金額] としています。 A社B社のそれぞれのクロス集計クエリを作成し、 それぞれを足すしか、テキストボックスに合計を表示させる方法はないでしょうか?

専門家に質問してみよう