
度々お世話になっています。
表題の通りなのですが、料金フィールドがあります。
テキスト型で固定か料金の金額が入っているのですが、
レポートで数字は通貨型で表記したいと考えています。
数字以外の部分(今回なら固定)は、今後表記が変わったり増えたりする可能性があるので
条件に"固定"とは使いたくありません。
コントロールソースに
=iif(isnameric([料金a])=true,fomat([料金a],\\#,##0),[料金a])
このようにすると循環参照のエラーが起きてしまいます。
レポートのコントロールソースであるQ_契約状況を指定しても同じです(そりゃそうなのか・・)
テストでfalseの場合の処理部分を省くと全てが空白になってしまいます。
isnameric関数の考え方が変なのでしょうか。
ヘルプを見ましたが解決にはいたらなかったので、
アドバイスをお願いします。
No.6ベストアンサー
- 回答日時:
> 料金aが変動、固定、個別とあり固定の場合は毎月決まった金額ですので集計が必要となっています。
> それを実現する為にiif関数でフィールドを1つにまとめ処理したクエリを
> レポートのソースにしています。
そのような仕様なら、一つのフィールドで処理しようとするは無理があると思います。
料金a は通貨型にして、別に 種別 というフィールドを追加するのがいいと思います。
種別 フィールドは下記のように設定します。
データ型 数値型
フィールドサイズ バイト型
ルックアップ
表示コントロール コンボボックス
値集合タイプ 値リスト
値集合ソース 1;"1変動";2;"2固定";3;"3個別"
連結列 1
列数 2
列幅 0cm
これで、種別フィールドで 1 と入力すれば 1変動、2で 2固定、3で 3固定 と表示されます。もちろんマウスでドロップダウンリストから選択してもOKです。
この方が入力もしやすいと思います。
レポートでは、詳細のテキストボックスのコントロールソースを下記のようにします。
=Choose([種別],Fomat([料金a],"\\#,##0"),"固定","個別")

長い間お礼もせず申し訳ありませんでした。この業務自体がなくなってしまいました…
ただ今後も勉強を続けていきたいと思います。ありがとうございました。
No.7
- 回答日時:
#3です。
まさか[テーブルorクエリ名]をそのまま使用してはいないでしょうね?
[テーブルorクエリ名]の部分は「参照しているテーブルorクエリ名」と置き換えてくださいね。
No.5
- 回答日時:
> もしかするとグループフッターの部分に合計があるのでそれでかもしれません。
> 料金aの合計=Sum(Val(Nz([txt料金a])))
> コントロールソースにはこのようになっています。
> それから計算結果が0になってしまいました。\がついたのでValが数値を読めなくなったのかな。。。
Sumなどの集計関数の引数にはフィールド名を指定してください。
=Sum(Val(Nz([料金a])))
もし、テーブルに入ってるデータそのものに\がついているのなら、下記のように\を削除してから集計します。
=Sum(Val(Mid([料金a],2)))
\132,456 のようにカンマも入っているなら、
=Sum(Val(Mid(Replace([料金a],",",""),2)))
以下は別案ですので参考程度に。
金額 か"固定"の表示をさせたいのなら、
フィールドのデータは通貨型にして、書式プロパティを
\\#,##0;-\\#,##0;\\0;"固定"
とします。これで、数値を入力すれば通貨表示、
未入力(Null)なら「固定」と表示されます。
集計操作をするときに文字列を数値に変換して集計するより、数値のままのほうが高速に処理できます。
この回答への補足
>\\#,##0;-\\#,##0;\\0;"固定"
全く思いつかなかった方法でした。とても参考になりました。
ありがとうございます。
>\132,456 のようにカンマも入っているなら、
>=Sum(Val(Mid(Replace([料金a],",",""),2)))
補足をした後、=Sum(Val(Mid([料金a],2)))と取り出す方法を考えて実行しました。
カンマまでは気づかなかったです^^;
ただ「抽出条件で型が一致しません」のエラーでした。
確かに今後データが増えたときも考えると処理速度は気になります。
もう少し詳細を説明させていただくと、毎月の状況の把握の為、レポートで出力するのですが、
料金aが変動、固定、個別とあり固定の場合は毎月決まった金額ですので集計が必要となっています。
それを実現する為にiif関数でフィールドを1つにまとめ処理したクエリを
レポートのソースにしています。
もっと賢いやり方があればアドバイスいただければ幸いです。
長い間お礼もせず申し訳ありませんでした。この業務自体がなくなってしまいました…
ただ今後も勉強を続けていきたいと思います。ありがとうございました。
No.4
- 回答日時:
コーディングしなくとも
テキストボックスのプロパティーの書式タグで[通貨]と設定できます。
その他タグで ・IME入力モード(On,Off) ・IME変換モード(一般、人名/地名)
の設定も出来ます。
※テーブルのデザインで設定しておくとフォーム、レポートの
作成時に反映されます。
この回答への補足
回答ありがとうございます。
テーブルのフィールドとしてはテキストと数字の両方が存在するのでこのような形となりました。
フィールドの書式は通貨にしてみましたが、数字がテキスト型として認識されるようでしたので、
Format関数をと考えた次第です。循環参照のエラーは回避できたようです。
長い間お礼もせず申し訳ありませんでした。この業務自体がなくなってしまいました…
ただ今後も勉強を続けていきたいと思います。ありがとうございました。
No.3
- 回答日時:
> isnameric関数の考え方が変なのでしょうか。
isnumericなのでは?
> =iif(isnameric([料金a])=true,fomat([料金a],\\#,##0),[料金a])
> このようにすると循環参照のエラーが起きてしまいます。
=iif(isnameric([テーブルorクエリ名]![料金a])=true,fomat([テーブルorクエリ名]![料金a],\\#,##0),[テーブルorクエリ名]![料金a])
とするとどうなりますか?
この回答への補足
ご指摘ありがとうございます!
お恥ずかしいことに3つも転機ミスがありますね・・・
コントロールソースとしてはちゃんと入力されてました^^;
>=iif(isnameric([テーブルorクエリ名]![料金a])=true,fomat([テーブルorクエリ名]![料金a],\\#,##0),
[テーブルorクエリ名]![料金a])
とするとどうなりますか?
指定してやってもみたのですが、パラメータの入力が求められたので困ってしまった次第です。
循環参照はなんとか回避できました。
長い間お礼もせず申し訳ありませんでした。この業務自体がなくなってしまいました…
ただ今後も勉強を続けていきたいと思います。ありがとうございました。
No.2
- 回答日時:
> コントロールソースに
> =iif(isnameric([料金a])=true,fomat([料金a],\\#,##0),[料金a])
> このようにすると循環参照のエラーが起きてしまいます。
循環参照エラーなら、そのテキストボックスの名前が、「料金a」になっているのだと思いますので、
別の名前に変更してください。例えば「txt料金a」とか。
この回答への補足
あちらこちらでお世話になっております。
hatena1989様のご指摘通り「txt」をつけると循環参照のエラーはでませんでした。
しかし、パラメータの入力「txt料金a」が求められてしまいます。
何も入力せずにOKをするとほしい結果は得られました。
もしかするとグループフッターの部分に合計があるのでそれでかもしれません。
料金aの合計=Sum(Val(Nz([txt料金a])))
コントロールソースにはこのようになっています。
それから計算結果が0になってしまいました。\がついたのでValが数値を読めなくなったのかな。。。
No.1
- 回答日時:
クエリで、
=iif(isnameric([料金a])=true,fomat([料金a],\\#,##0),[料金a])
のように書き換えて、それをレポートのレコードソースにするか、
モジュールにファンクションをつくり、レポートでそれを呼び出すか、、、
この回答への補足
ご回答ありがとうございます。
なかなかモジュールの作成レベルまで私が追いついておらず、
踏み込めない状態です(涙)
クエリで式も考えたのですが料金a自体がすでに式になっていて、
自分でややこしくなるなーと思ったのでレポートでの書式にしたいと思いました。
循環参照はなんとかエラーが出なくなりました・・・けど・・・といったところでしょうか。
もうひとがんばりしてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 予備校・塾・家庭教師 塾の中途解約について 1 2023/04/16 00:19
- 格安スマホ・SIMフリースマホ 携帯電話料金を抑えたいです 8 2023/04/10 09:41
- 不動産業・賃貸業 賃貸アパートを探しているのですが、敷金礼金無しのある物件に 賃貸保証等:加入要((株)オリコフォレン 3 2022/11/07 22:15
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- 借地・借家 賃貸料の値上げ交渉について 2 2022/12/05 21:57
- 交際費・娯楽費 年収520万円一人暮らしの貯金 7 2022/09/26 07:10
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(法律) 月極駐車場のオーナーをしています。 現在の駐車場管理を委託している会社の対応がお粗末なため管理会社を 8 2023/02/12 16:26
- 副業・複業 副業 クラウドワークスについて 1 2023/01/17 09:13
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
祝前日って日曜日は含まれますか?
-
二人用の部屋、最初一人で泊ま...
-
ホテルや旅館などで、複数人部...
-
友人(docomo)に何度着信して...
-
Booking.comでホテルを探してい...
-
バス
-
外食に行った際、高校生は子供...
-
今度、牛角の食べ放題に行くの...
-
初めてデリヘルを呼ぼうと思う...
-
アダルトサイト側では個人情報...
-
セクキャバの値段について
-
JR岐阜駅周辺の駐車場
-
切手は、郵便料金以上の額面金...
-
休前日とは、何曜日のことですか?
-
U-NEXTとかアマプラとか配信さ...
-
着信拒否はしていないのに…私か...
-
おはようございます。 札幌市在...
-
ラブホテルでAVを見た場合別途...
-
門前仲町から東大島、タクシー...
-
宅急便料金 着払いになると・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
友人(docomo)に何度着信して...
-
二人用の部屋、最初一人で泊ま...
-
ホテルや旅館などで、複数人部...
-
別ファイルを開かず、INDIRECT...
-
祝前日って日曜日は含まれますか?
-
電話を掛けたら お客様の都合に...
-
着信拒否はしていないのに…私か...
-
切手は、郵便料金以上の額面金...
-
いずれの と いずれかのはど...
-
携帯 利用停止中の相手に
-
休前日とは、何曜日のことですか?
-
oki マイクロライン サービス...
-
バス
-
外食に行った際、高校生は子供...
-
Booking.comでホテルを探してい...
-
アダルトサイト側では個人情報...
-
家にパソコンがなくどうしてもC...
-
「ご紹介いただく」は二重敬語...
-
キャバクラで2時間のお会計が5...
-
初めてデリヘルを呼ぼうと思う...
おすすめ情報