みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
どっちでもいいけど
Caseの方がオススメの関数です。
ただ、スクリプツテップにはないですが・・・
どうしても 何もしないことを確認したいということなら
IF~ならば、
一定の処理
Else
//この行には何も書き込まない、何もステップを行い
ENDIF
というのもありかな
私は、自分自身の確認のために 上記のようにことあります。
IsEmpty ( WindowNames ( "ファイル名" ) ) //ファイル名 には実際のファイル名を入れます
この計算式の結果
1 が返って入れば そのファイルは開いていない
0 が返って入れば そのファイルは開いている
となります
計算式も使いますが、こういったリレーションをすると
いつでもやり取りの履歴回数を表示することができます
説明すると長くなるので
http://yahoo.jp/box/iG2NE0
にサンプルをアップしました。
機能としてではなく、考え方として
トリガーをすべてで発動させてしまって
スクリプト内部で
アカウントによって分岐させて処理をすれば
何とでもできるのではないかと思いますが。
[
レイアウトAに配置されているフィールドは繰り返し1が定義
レイアウトBに配置されているフィールドは繰り返し2が定義されています。
この状況はわかったんですが
一体コピーしたい場所と
それからどうするのか?
貼り付け(ペースと)したい?
それがどこへ?
こうしたことがわからない
それにしても
なんで同じレコートで レイアウトが複数ある?
これもわからないことの一つ
状況がうまく理解できていないのですが
同じテーブルなのか?違うテーブルなのか?
>レイアウトAは繰り返し[1]、レイアウトBは繰り返し[2]です。
では、どの繰り返し位置を使うのか?
といったことで、状況は変わるかと思いますが。。
帰ってきて 唖然 私は何を書いたのでしょう
とんでもないおばかでした。
Shinさんのおかげでミスを訂正してもらいました。
Shinさんありがとうございました。
これから出かけるので お尋ねだけしておきます
もしどなたかが神崎をフォローしていただけると助かります。
他のテーブルが絡んでいても問題ないはずですが
そう言ったリレーションをしているのか?
それを書きにならないと正確なアドバイスは受けられないかと思います。
リレーションしているテーブルなのか?していないのかも問題になるので。
計算式を描いてもらうと分かりやすかったんですが・・・・
Case(ラジオボタンのフィールド名;”A";1000;"B";2000;"C";3000;”D";4000)
が一般的なんですが
それと 計算フィールドでしているのですか? それとも 数字もしくはテキスト形式で 入力値の自動化ですか?
スクリプトトリガーの前に
ファイルオプションの
「最初に表示するレイアウト」を
使用するといいと思うけど
レコードを作った時に ”入力してください”を表示させるのなら
計算フィールドの式設定ダイアログの左下の方にある
□式内の全フィールドが・・・
のチェックを外しておいてください。
これで新たにレコードを作った時に情動的に表示されます。
そして フィールドA にデータが入ると きえます。
さらに空白にすると表示されます。
FMP12での検証ですが
基本機能なので変わってないともいます。
集計機能を使えば簡単ですが。
シーラカンスさんのセミナーテキストに解説が有りませんか>シーラさん
集計機能などは、基本的な話なので解説しているはずです。
でなくても
初心者の方には 是非お読みいただきたい セミナーテキストです。
https://fm-aid.com/bbs2/viewtopic.php?id=6161
に公開する旨の記事と
http://yahoo.jp/box/diWpIv
にそのテキストファイルをアップしています。
ひょっとして どこかのフィールドがアクティブ(カーソルが入って入る)になってないでしょうか?
なんらかの操作 の意味によりけりですが
スクリプトで レイアウト切り替えさせればいいのですが、
どんな操作を望んでおられるのか?
それによるかと思いますが。
多分再起計算式の提案が出ることともいますが、
私は、スクリプトでLOOPでソートされたレコードを
最初から見て行って、途切れたところの値を返すという方法を提案して起きます。
カスタム関数で、処理する方法もありますが、
再帰計算になるので、ちょいと面倒かなぁ?
ということで わたしはスクリプトをお勧めします。
アカウントとアクセス権の設定が必要になるかもしれません。
分かりやすいかどうかはわかりませんが、
https://fm-aid.com/bbs2/viewtopic.php?id=6107
で、アカウントとアクセス権の解説したテキストを公開の案内をしてます。
一度お読みいただければと思います。
データの置き換えをされたようですが、
結果的に非保存のものがあ理、計算式も絡んでいるので
大きな改善は見られないのではないかと思います。
閲覧寿都にあたってのデータは、完全にテキストや数字に置き換えてやらないと
もしくはなんらかの形で索引を作ってやらないと
都度計算に入ったりするので、どうしてもスクリールには時間がかかったりします。
ということで
表示しているフィールドの状態をじっくり見直す必要があるかもしれませんね。
計算フィールドをテキストや数字にして
入力値の自動化を使うのも一考かもしれません。
フィールドが選択されていない時にスクリプトを実行したら
エラーを表示するようにしたので
V2 として
http://yahoo.jp/box/UJrHkQ
にアップしました。
不要な部分もありますが、そのまま収めておいてください
ごめんなさい バージョンを読まずに作ってました
さらにごめんなさい
「一致するレコードを検索」ステップは、FMP12以降の機能でした。
ということでFMP11用のスクリプトにサンプルを変えてアップしました。
私の提案のステップは 検索モードでも、検索実行でもないです
対象レコード という分類の中にある 「一致するレコードを検索」です
http://yahoo.jp/box/ucDrrV
にサンプルを置きました。
サンプルでは念のために冒頭に 全レコードを表示 ステップを入れてあります。
一致するレーコードを検索 ステップで 絞り込み でいいんでは?
できたらリレーションと計算式を用いて集計を考えているのですが、行き詰まっている状態です。
どういったファイル構成なのわからないと回答は難しいです。
それに
何をどう詰まっているか も知らせないと
回答側としては困ってると思います。
レスがつかないのであえて書くことにしました。
仕事の処理の方法はそれぞれのユーザーによって異なるでしょう。
なので、お尋ねの件は ケースバイケース という回答が適切かもしれません。
入力されるテキストに 全角半角が混在しても全角2文字(半角4文字)を超えると
エラーになる計算式を考えて見ました。
この式では、Filter関数と Substitute関数を使って全角文字と半角文字を分離して
それぞれの文字数を計算して、制限をかけます。
Let( [
$txt=制限するフィールド名;
$t1=Filter ( KanaZenkaku(RomanZenkaku($txt)) ; $txt ); <= 全角だけに
$t2=Substitute ( $txt ; $t1 ; "" ); <= 半角だけに
$n=Length($t1)+ Length($t2)/2 <= /2 は 半角2文字を全角1文字として計算
];
$n ≤ 2 )
サンプルファイルを
http://yahoo.jp/box/iOxH-Z
にアップしてます。
ここでは、卯なく行かなかったものも参考までに搭載してます。
[ Generated in 0.007 seconds, 6 queries executed - Memory usage: 689.04 KiB (Peak: 728.45 KiB) ]