痔になりやすい生活習慣とは?

テーブル「TB2」~~~~~~

フィールド「生年月日」---数字
フィールド「目的日」-----数字
フィールド「年齢」-------計算--------計算、「目的日」-「生年月日」
フィールド「B」----------計算--------非保存、= Case(年齢=1 or 年齢=5 or 年齢=8;1)

これで正常にフィールド「B」は目的とするレコードのみ「1」になりました。(それ以外は「空」)


ここにテーブル「TB1」があって~~~~~~
フィールド「A」---------テキスト-----グローバル

テーブル「TB2」のフィールド「B」の「年齢=1 or 年齢=5 or 年齢=8」の部分を
フィールド「B」---------計算---------非保存、= Case(テーブル「TB1」;;フィールド「A」;1)
に変更しました。

結果、テーブル「TB2」のフィールド「B」は全て「1」になってしまいます。

どのようにしたら、条件にあったものだけ「1」にできるでしょうか?

A 回答 (5件)

>Case文の条件は, テキストまたは数値式となっていたので,


テキスト式または数値式という意味かと思います。
私もご使用目的をよく理解していませんが、使用者フィールドを作ってその値で計算フィールドのフィールド「A」の
結果を変えるとか、使用者がアカウントでしたらアカウント名を取得して変えるとかした方がいいと思います。

グローバルフィールドはリレーションが無くても参照は出来るのですが・・・
    • good
    • 0
この回答へのお礼

そうなんですか
てっきり、ただの文字列を式に変換してやってくれるかと思ってました。

他の方法で実現出来そうなので、もうちょっと勉強します。

ありがとうございました。

お礼日時:2007/02/13 02:02

> グローバルフィールドはリレーションが無くても参照は出来るのですが・・・


本当だ・・・知らなかった

フィールド「A」の条件を改行して入れて、
(値一覧でチェックボックスの方が使いやすいかな)
フィールド「B」=
PatternCount ( TB1::A;年齢)
    • good
    • 0
この回答へのお礼

他の方法で自己解決しました。
でも参考になりました。
こんど試してみます。
ありがとうございました。

お礼日時:2007/02/13 13:57

質問の意味が分からないので、同じ構成のファイルを作ってみました。


フィールド「B」---計算---非保存、= Case(テーブル「TB1」;;フィールド「A」;1)
この定義で「フィールドが見つかりません」となります。
実際の式をコピペした方がいいと思いますよ。

たぶんリレーションをとっていて
= Case(リレーション名::フィールド「A」;1)なのでしょうが、
フィールド「A」がグローバルなので全レコード共通の値になり、計算結果もすべて共通の結果になるのは想像がつきます。

わからないのは「何がしたいのか」

この回答への補足

え~~?、
先にTB1を作っておいてもダメですか?
リレーションはしてません。

したいことは、使用する人によって目的とする条件が違うので、「設定メニュー」のようなものを作り(TB1)、条件式を変えれるようにしたかったのですが。
もちろんTB1のAのテキスト生成は使用者がマウスクリックだけで自動生成できるように工夫してますが。

補足日時:2007/02/12 23:45
    • good
    • 0

"年齢=1 or 年齢=5 or 年齢=8"は単にテキストですからこの式のような内容は全く無意味となります。

この回答への補足

Case文の条件は, テキストまたは数値式となっていたので,
TB1のフィールドAに条件式をテキストで書いたものも受付けるかと思ったのですが。

補足日時:2007/02/12 23:45
    • good
    • 0

>非保存、= Case(テーブル「TB1」;;フィールド「A」;1)



の式はテーブル「TB1」;;フィールド「A」が真(=1)の時に結果として1を返すわけですから
フィールド「A」か1以外の時は空白になりそうですけど・・・

この回答への補足

説明が不足してました。

テーブル「TB1」
フィールド「A」---------テキスト-----グローバル

上記のフィールドは"年齢=1 or 年齢=5 or 年齢=8"としています。

補足日時:2007/02/12 18:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング