【お題】引っかけ問題(締め切り10月27日(日)23時)

ボディに金額欄がありフッターにその合計(タイプは集計)を置いています。
金額欄を書きかえすぐに次のフィールドに移動すると合計が空欄になります。
ヘッダとか何も無い所をクリックすると合計がでます。

金額欄を書き換えて次のフィールド又は他のレコードのフィールドに移ったら、すぐ合計が表示されるにはどうしたらいいでしょうか?

A 回答 (11件中1~10件)

合計は以前のままの集計フィールドです。


追加した計算フィールドはスクリプト起動のトリガーですから
レイアウトに置く必要はありません。

金額1-----数字
金額2-----数字
合計------集計--金額1の合計(フッタに配置)
トリガー--計算--非保存,=If ( Get ( アクティブフィールド名 ) ≠ 金額1;S4HU_EventScript( "test.fp7"; "スクリプト1" ; "" );"")

計算式内のファイル名に拡張子が必要だと思います。
    • good
    • 0
この回答へのお礼

ふぅ~~~
やっと出来ました。
計算フィールドにスクリプト起動を置けるなんてすごい技ですね。
他にもいろいろ流用できそうです。

すごい勉強になり、また快適に動いてます。

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

お礼日時:2007/02/06 20:30

Get ( アクティブフィールド名 )


このままの取得関数です。計算式の指定で関数表示のプルダウンメニューから
取得関数を選ぶと、上から5番目にあります。

S4HU_EventScript( "ファイル名"; "スクリプト名" ; "" );"")
同じプルダウンメニューから外部関数を選択するとあるはずです。
(プラグインをExtensions フォルダーに入れていれば)

>>レコード/検索受験確定
>レコード/検索条件確定でしょうか?
その通り

この回答への補足

うう~~出来ない!

*Extensions フォルダーにS4HU_EventScript 1.1 有 (Window版)
環境設定のプラグインにS4HU_EventScript 1.1有るを確認。チェックも入っています。


ファイル名---test.fp7

スクリプト名-スクリプト1
---レコード/検索条件確定[ダイアログなし]
---次のフィールドへ移動
---次のフィールドへ移動


テーブル名---test
-------------金額1---数字
-------------金額2---数字
-------------合計----計算--非保存,=If ( Get ( アクティブフィールド名 ) ≠ 金額1;S4HU_EventScript( "test"; "スクリプト1" ; "" );"")
>>>>>S4HU_EventScript 1.1 にするとスクリプトがないとはねられる。

金額1、金額2はボディ部  合計はフッタ


上記でよろしいでしょうか?

動きが変です。無限ループに入ったみたいで、金額1と金額2をすばやく行ったり来たりピコピコです。

参考サイトはEnglishで読めません(大悲)

補足日時:2007/02/06 19:11
    • good
    • 0
この回答へのお礼

訂正

テーブル名---test
-------------金額1---数字
-------------金額2---数字
-------------合計----集計---= 金額1合計
-------------aaaa----計算--非保存,=If ( Get ( アクティブフィールド名 ) ≠ 合計;S4HU_EventScript( "test"; "スクリプト1" ; "" );"")

です。

お礼日時:2007/02/06 19:24

訂正です。

スクリプトを次の3ステップにしてください。
 レコード/検索受験確定[ダイアログなし]
 次のフィールドへ移動
 次のフィールドへ移動

なお、計算式の中の「ファイル名」はあなたの付けたファイルの名前
「スクリプト名」は上のスクリプトに付けた名前です。

この回答への補足

ありがとうございます。
今日はおそいので明日ためしてみます。
楽しみです。

補足日時:2007/02/06 02:29
    • good
    • 0
この回答へのお礼

> ( アクティブフィールド名 ) ≠ 合計;
でなく金額1でした。スミマセン

それでうまくいきますが、レイアウトモードへ移行出来ません。
やっぱりピコピコのループに入ります。

お礼日時:2007/02/06 19:37

一応出来ました。



下のURLから「EventScript」という Plugin をダウンロードし、FileMaker の Extensions フォルダーにいれます。
(たぶん、FileMaker の 再起動が必要)
http://www.softs4humans.com/FMPro_Plugins.html
※ドネーションウエアです

レコード確定のスクリプトを作ります。
 レコード/検索受験確定[ダイアログなし]
 フィールドへ移動[(次のフィールド名)]

計算フィールドを作ります。
計算式 = If ( Get ( アクティブフィールド名 ) ≠ 金額;S4HU_EventScript( "ファイル名"; "スクリプト名" ; "" );"")

これで希望どおりの動作になると思います。

MacOSX10.3.9 + FM7,FM8で確認
    • good
    • 0
この回答へのお礼

>If ( Get ( アクティブフィールド名 ) ≠ 金額
アクティブフィールド名とはボディにある入力される金額フィールド?
金額とはフッタにある合計でしょうか?

GetField(~~ でなく Get(~~でしょうか?

>レコード/検索受験確定
レコード/検索条件確定でしょうか?

OSはWindowでFM.7です

お礼日時:2007/02/06 09:47

私、大嘘ついてました。

集計フィールドは「普通に」空欄になりますね。すみません。

「レコード確定」の操作以前に表示されるというのは無理ですね。
レコード内の計算フィールドの結果がフィールドを移動しただけで出るというのは
確定と無関係と考えるしか・・・・
    • good
    • 0
この回答へのお礼

がっかりです。
MSアクセスだとVBで「レコード確定」を強引に出来たんだけど。

でも、慣れてきたらFMっていいですね!!

ありがとうぞざいます。

お礼日時:2007/02/05 22:09

ヘルプにある「データの確定」が必要なようです。


>通常のワードプロセッサアプリケーションと異なり、FileMaker Pro では、
>データは作業中に保存されます。これを「データの確定」と呼びます。
>データは、次の操作を行った時点で確定されます。
>他のレコードを選択する
>現在のフィールド外の場所をクリックする
>Windows の場合、テンキーの Enter キー、または Ctrl+Enter(テンキーのないコンピュータの場合)を押す
>Mac OS の場合、enter キーを押す(return キーでは確定されません)
>他のモードに切り替える

スクリプトを使うしか無いんじゃないでしょうか。
※スクリプトにはレコード確定ステップがあります。
    • good
    • 0
この回答へのお礼

う~~~ん
スクリプトに「次フィールドに移った時」というイベントがあればよかったんですが・・・・

残念!!

お礼日時:2007/02/05 22:06

ごめんなさい


大嘘教える所だった…
今確認したら、GetSummary ( 集計フィールド; 集計フィールド )でも
自己リレーションでも「即表示」はできないですね。

この回答への補足

ええ~~!!
GetSummaryも自己リレーションもできないんですか?
今、その辺を勉強しようと思ったんですが。

その他何か方法ありませんか?
「即表示」できないのは、体に悪いですよね。

補足日時:2007/02/05 18:40
    • good
    • 0

集計フィールドを使っているということは、複数レコードの金額の合計みたいですからSumでは


リレーションを設定しないとできないと思います。
計算フィールドでしたらGetSummary ( 集計フィールド; 集計フィールド )でしょうか。

空白になるのが再現できました。たぶん繰り返しフィールドを使っていますね?

この回答への補足

繰り返しフィールドは使っていません。「1」のままです。
GetSummaryを勉強してみます。

補足日時:2007/02/05 18:37
    • good
    • 0

合計のフィールドタイプを集計にしているからですよ。


計算フィールドにして Sum ( 金額 ) で出来ます。
MacOSX10.3.9 + FileMaker Pro 8 で確認
    • good
    • 0

空欄になるという経験がありませんが、集計フィールドは金額フィールドの単なる合計なのですか?他に書き忘れていることはないですか?

    • good
    • 0

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

関連するカテゴリからQ&Aを探す


おすすめ情報