みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Shin様、チポ様、返信ありがとうございます。
おかげでうまくいきました。
ありがとうございました。
お世話になります。
ファイルメーカー初心者です。
現在FM16を使用して日報を作成しています。
毎回起動時に1番目のレコードが表示されて、左上のスライダーで最新のレコードを表示し、
確認してから新規レコードで今日のレコードを追加しています。
この作業が煩わしいので、FM起動時に前回終了時のレコードを自動で表示させる方法が知りたいです。
お手数ですがよろしくお願いいたします。
早速の返信ありがとうございます。
おかげさまでうまくいきました。
スライド機能は、ちょっと難しそうなので先送りして、時間がある時にでもじっくりやろうと思います。
おっしゃる通り私の文字だけでの説明では、うまく伝えられなかったので助言のしようがないですね。
申し訳ありません。
この度は誠にありがとうございました。
また何かありましたら宜しくお願い致します。
すいません、Shin様、もう一つ教えていただきたいです。
3項目ごとに改行、とかの希望でしたら、
List ( Substitute ( MiddleValue ( text ; 1 ; 3 ) ; ¶ ; " " ) ; Substitute ( MiddleValue ( text ; 4 ; 3 ) ; ¶ ; " " ) ;... )
の様な式を、再帰で作るとか、繰り返しフィールドで計算するとかすればいいでしょうが、項目数が文字列に依存して不定でしたら、文字を数えていく必要がありますね。半角のカッコが含まれているので、フォントによってはうまくいかないかもしれません。項目数で改行
Let ( [ $txt = Substitute ( text ; ¶ ; " " ) ; $n = Div ( ValueCount ( text ) - 1 ; 3 ) ; $fnc = "Case ( $n = 0 ; $txt ; Let( [ $pos = Position ( $txt ; \" \" ; 1 ; $n * 3 ) ; $txt = Replace ( $txt ; $pos ; 1 ; \¶ ) ; $n = $n - 1 ]; Evaluate ( $fnc ) ) )" ] ; Evaluate ( $fnc ) )
文字数で改行
Let ( [ $txt = Substitute ( text ; ¶ ; " " ) ; $len = 17 ; // 1行文字数 $t = "" ; $fnc = "Case ( Length ( $txt ) ≤ $len ; List ( $t ; $txt ) ; Let( [ $t0 = Left ( $txt ; $len + 1 ) ; $pos = Position ( $t0 ; \" \" ; 1 ; PatternCount ( $t0 ; \" \" ) ) ; $t = List ( $t ; Trim ( Left ( $txt ; $pos ) ) ) ; $txt = Trim ( Right ( $txt ; Length ( $txt ) - $pos ) ) ]; Evaluate ( $fnc ) ) )" ] ; Evaluate ( $fnc ) )
上記の「項目数で改行」を使用しているのですが、チェックボックスセットで選択がない場合、「?」表示になってしまいます。
チェックボックスセットで選択がない場合、空欄のままにしておきたいのですが、どのようにすればよいのでしょうか?
お忙しいとは思いますが、なにとぞご教授ください。
よろしくお願いいたします。
お世話になります。
スライド機能を使用してみましたがうまくいきません。
具体的なやり方を自分なりに調べたのですが何が悪いのかわかりません。
アドバイスをお願いいたします。
フィールド①
フィールド②
フィールド③
フィールド④
フィールド⑤
上記のような状態で、フィールド①~④はチェックボックスセットで選択したものが反映される状態、フィールド⑤はテキストでコメント入力です。
この状態で、例えば
フィールド①→空欄
フィールド②→空欄
フィールド③→テキスト入力あり
フィールド④→空欄
フィールド⑤→テキスト入力あり
上記のような場合、
フィールド③
フィールド⑤
空欄
空欄
空欄
のように空欄を除いて上にスライドさせたいと思っています。
FileMakerのヘルプで(印刷時の余分なスペースの除去)を調べて、次の説明通りにやってみました。
>スライドオプションを設定するには、次の操作を行います。
>メモ スライドオプションを設定したときの効果は、プレビューモードと印刷でのみ確認できます。ブラウズモードでは確認できません。
>1. レイアウトモードで、オブジェクトが左や上方向にスライドできるように、スライドするオブジェクトと左端(または上端)のフィールドの両方を選択しておきます。
>2. レイアウトバーのインスペクタ インスペクタボタン をクリックし、[位置] をクリックします。
>3. [スライドと表示] 領域で、スライドオプションを選択します。
・上端のフィールド①とフィールド⑤を選択します。
・インスペクタボタン→[位置]を選択し [スライドと表示] →空行の削除→上方へスライド→上の全てのオブジェクトを対象を選択。
上記のように設定した所、希望した通りになりませんでした。
要望通りにするにはどのような設定をすればよいのでしょうか?
よろしくお願いいたします。
ありがとうございます。
調べて試してみたいと思います。
Shin様 ありがとうございます。
また回答が遅くなりまして申し訳ありません。
項目数で改行のパターンでようやくうまくいきました。
分かり易く丁寧に教えていただきまして誠にありがとうございます。
それと新たに質問なんですが、
社員にチェックボックスセットを使用してアンケートしてもらって、
全ての質問に回答したら、確認のボタンを押して別の一覧用レイアウトにとんで、今までチェックした項目の一覧を表示させているのですが、
人によっては、答えなくてもよい質問が存在しています。
その答えなくてもよい質問を一覧用レイアウトにした場合に、その質問に答えなかった人は、その答えなくてもよい質問に対する回答欄が空欄になってしまい、見栄えが良くありません。
(例えば、「質問1」フィールドにチェックボックスセットで、○営業 ○サービス ○管理 ○総務 ○その他 とチェックするようになっており、
営業にチェックした人のみ、次の質問の「質問2」フィールドに答えます。全ての質問に回答した後、「確認」ボタンを押して、今までチェックした項目の一覧画面に移った時に
先ほどの「質問1」フィールドの回答が「回答1」フィールドに反映されます。同様に、営業と選択した人だけが答えた「質問2」フィールドの回答が反映される「回答2」フィールドでは、
営業と選択した人はその答えが反映されますが、営業と選択していない人は空欄になっています。)
確認するための一覧用レイアウトで、チェックボックスセットでチェックが入っていない場合、回答フィールドを上に詰めて一覧で表示させるようにしたいです。
以上、分かりにくい説明で申し訳ございませんが、なにとぞよろしくお願いたします。
お世話になります。
ようやく、
Substitute ( text ; ¶ ; " " )
を使用してテストしてみました。
すると、希望通り、
札幌市(北海道) 仙台市(宮城県) 東京(東京都) 大阪市(大阪府)
名古屋市(愛知県) 広島市(広島県) 福岡市(福岡県)
という風に横書きで表示されるようになりました。
しかし、チェック項目によっては、
札幌市(北海道) 仙台市(宮城県) 東京(東京都) 大阪
市(大阪府) 名古屋市(愛知県) 広島市(広島県) 福
岡市(福岡県)
上記のように、単語の途中で改行されることがあります。
これを改善させたいです。
なにとぞご教授ください。
よろしくお願いいたします。
Shin様、回答いただきまして誠にありがとうございます。
一度やってみようと思います。
返事が遅くなりまして誠に申し訳ございません。
早速の回答ありがとうございした。
指摘された通りやってみるとその通り表示されました。
追加で質問なんですが、
指摘されたとおりにやると
札幌市(北海道)
仙台市(宮城県)
東京(東京都)
大阪市(大阪府)
名古屋市(愛知県)
広島市(広島県)
福岡市(福岡県)
といったように縦に改行されて表示されてしまいます。
フィールドは、縦に短く、横に長く設定してあり、そのフィールドのサイズにうまく収まるようにしたいのですがどうやればよろしいでしょうか?
例えば、以下のように表示させたいです。
札幌市(北海道) 仙台市(宮城県) 東京(東京都) 大阪市(大阪府)
名古屋市(愛知県) 広島市(広島県) 福岡市(福岡県)
インスペクタの設定などで操作すれば、うまく表示されるのかなと思い、試してみたのですがうまくいきません。
なにかいい方法などないでしょうか。
よろしくお願いいたします。
お世話になります。
初心者です。なにとぞ宜しくお願い致します。
FMpro16を使用しています。
社員向けのアンケートを作成しています。
質問に対してのフィールドをチェックボックスセットで選択していく方式です(複数選択)。
ほとんどの質問がチェックボックスセットで解答するような形ですが、最後の方にテキストでコメントを書くところもあります。
質問は全部で20問程度でそれほど多くはありません。
全ての質問に回答したら、確認のボタンを押して別のレイアウトにとんで、今までチェックした項目の一覧を表示させます。
それで問題ないなら印刷し終了します。
そこで質問ですが、
チェックボックスセットで選択した項目を、別のレイアウトのフィールドにテキストで表示させるにはどうしたらよいのでしょうか?
一問につきチェックボックスセットで解答できる項目は最大で20個ぐらいあります(少ない所では2個)。
それをすべてテキストで表示させたいです。
社員には簡単にチェックするだけで解答できるようにしたいので、チェックボックスセットを使えばいいかなと思っているのですが、
最後の確認の所でテキストで表示させる方法が分からなくなってしまいました。
初歩的な質問かもしれませんが、なにとぞよろしくお願いいたします。
Shin様、ありがとうございました。
おかげさまでうまくいきました。
見本として作成していただいたファイルもダウンロードして参考にさせていただきました。
このような考え方をするのかと大変勉強になりました。
また機会がありましたら宜しくお願い致します。
いつもお世話になっております。
FileMakerPro16Advanceを使用しています。
会社で危険予知活動のまとめを作成しています。
「可能性」フィールドと「重大性」フィールドを作成し「危険度」フィールドに数値で評価を求める計算式を組みたいです。
「可能性」フィールドと「重大性」フィールドは、社員に「〇」「△」「×」をドロップダウンリストから選んで選択してもらうようになっています。
「危険度」フィールドに、「可能性」フィールドと「重大性」フィールドに入力された〇△×に応じた点数を、自動で表示させる計算式を組みたいです。
内容としては、
「可能性」フィールドが”×”で、「重大性」フィールドが”×”の場合、「危険度」フィールドに”50”と表示させる。
「可能性」フィールドが”×”で、「重大性」フィールドが”△”の場合、「危険度」フィールドに”30”と表示させる。
「可能性」フィールドが”△”で、「重大性」フィールドが”×”の場合、「危険度」フィールドに”30”と表示させる。
「可能性」フィールドが”×”で、「重大性」フィールドが”〇”の場合、「危険度」フィールドに”10”と表示させる。
「可能性」フィールドが”〇”で、「重大性」フィールドが”×”の場合、「危険度」フィールドに”10”と表示させる。
「可能性」フィールドが”△”で、「重大性」フィールドが”△”の場合、「危険度」フィールドに”10”と表示させる。
「可能性」フィールドが”△”で、「重大性」フィールドが”〇”の場合、「危険度」フィールドに”10”と表示させる。
「可能性」フィールドが”〇”で、「重大性」フィールドが”△”の場合、「危険度」フィールドに”10”と表示させる。
「可能性」フィールドが”〇”で、「重大性」フィールドが”〇”の場合、「危険度」フィールドに”1”と表示させる。
以上のような条件です。
CASE関数を使用するのでしょうか。
初心者で初歩的な質問かもしれませんがよろしくお願いいたします。
返信が遅くなりまして申し訳ございません。
Hiro様再度サンプルを作成していただきまして誠にありがとうございます。
早速ダウンロードして解析させていただきます。
ループの考え方をしっかりと勉強した上で、このスクリプトを作成中のDBに組み込んでいこうと思います。
親切丁寧に教えていただきまして誠にありがとうございました。
また分からないことなどありましたら宜しくお願い致します。
Hiro様、お世話になります。
サンプルデータを作成していただきましてありがとうございます。
早速自分なりに調べてみたのですがよく理解できませんでした。
変数を設定[$#dumy;値:// 繰り返[6回]変数$cntに初期値0を設定 $cnt[1~6]=0
Let(
[
$i=0;
$f=
"Case($i=6; \"\";
Let([
$i=$i+1;
$cnt[$i]=0
]; Evaluate($f))
)"
];
Evaluate($f)
)
このスクリプトは何を返すのですか。
関数スクリプト辞典で色々調べたのですがよくわかりません。
解析もまともにできなくて情けないのですが詳しい解説をお願いできないでしょうか・
よろしくお願いいたします。
ありがとうございます。
おかげさまでだいたいイメージ通りいきました。
しかし、空欄のレコード数が0と表示されてしまします。
これはどうしてなんでしょうか?
空欄のレコード数も○○件と表示するにはどうすればよいでしょうか。
よろしくお願いいたします。
早速の返信、ありがとうございます。
すいません。初心者なものでせっかくいただいたアドバイスがよく理解できません。
>もう一つ集計フィールドを作り、上記のフィールドのカウントとして、
>このフィールドをソート対象とした小計パートに配置
>そのフィールドでソートすれば集計できます。
これはリスト形式で、パートの定義の小計のパートを作成し、そこに集計フィールドを作成するのでしょうか。
上記のフィールドのカウントとしてというのが分かりません。
大変申し訳ないのですが、もう少しご教授願えませんでしょうか?
よろしくお願いいたします。
お世話になります。
現在レコード数が2000程度のデータベースを作成しています。
設備や部品などのデータベースでそれぞれの経過年数を「経過年数」フィールドに数字で表しています。
全ての「経過年数」フィールドに数字が入っているわけではなく空欄の物も200個ぐらい存在します。
そのすべてのレコードを「経過年数」フィールドの値が
空欄、1~5、10以下、15以下、20以下、21以上というような感じでレコード数を抽出したいです。
その際に、新たなフィールドを
「空欄」
「1~5」
「10以下」
「15以下」
「20以下」
「21以上」と作成し、
そのそれぞれのフィールドに対して計算式を当てはめて数値を出していくのでしょうか?
またその計算式はどのようなものになるのでしょうか?
ぜひ教えてください。
よろしくお願いいたします。
ご教授ください。
設備機器のデータが2000件ほどあるデータベースを作成しています。
製造年月日から現在までの経過年数を表示しています。
そのすべてのレコードの経過年数から、経過年数5年未満、経過年数5年以上10年未満、経過年数10年以上15年未満、経過年数15年以上20年未満、経過年数20年以上というように
抽出してグラフを作成したいです。
以前はエクセルでデータベースを作成していたのですが、その時はcountifの関数を使用して「このセルからこのセルまでのなかで5未満のもの」みたいな形で抽出していました。
経過年数5年未満、経過年数5年以上10年未満、経過年数10年以上15年未満、経過年数15年以上20年未満、経過年数20年以上といった5つのフィールドを作成し、
その5つのフィールドから円グラフが出来ないかなと思っているのですが全レコードから抽出する方法が分かりません。
新規レイアウトのリスト形式で小計でできないかなとも思ったんですがうまくいきません。
2000件ぐらいある全レコードの中から、経過年数が〇年未満のものという風に抽出するための関数やスクリプトなどを教えてください。
よろしくお願いいたします。
チポ様、早速の返信ありがとうございました。
おかげさまでうまくいきました。
また機会があればよろしくお願いいたします。
初心者です。
FileMakerPro16を使用しています。
以下のような計算式を入力し経過年数を求めています。
If ( 今年の製造年月日 < 今日の日付 ; 今日の年 - 製造年月日の年;今日の年 - 製造年月日の年 - 1 )
一応これで正しく経過年数を求めることができたのですが、
今年の製造年月日のフィールドが空欄の時になぜか”2017”と表示されてしまいます。
元のデータには製造年月日のフィールドが空欄の場所が多くあるので
空欄の場合、この計算式が設定されている経過年数フィールドも空欄にしておきたいです。
全ての参照フィールドがからの場合は評価しないのチェックボックスにチェックを入れても入れなくても変わりません。
どなたかアドバイスをお願いいたします。
皆さんいろいろなアドバイスありがとうございます。
おっしゃる通り、導入日でソートしてそれを活用する方が早いですね。
データベースを作成するときにその後の活用のやりやすさまでも考えて構築する必要がありますね。
将来的な活用方法までも考えて、もう一度システムを見直してみます。
本当に勉強になりました。ありがとうございました。
また分からないことがあったらよろしくお願いいたします。
返信ありがとうございます。
「経過年月」フィールドに計算式により導かれた「XX年XXヶ月」という値を、
さらに計算式により「経過月数」という新たに作成したフィールドへ変換するという事でしょうか。
その場合、「経過月数」フィールドにはどのような計算式が入りますか?
よろしくお願いいたします。
早速の回答ありがとうございます。
数値でソートするように工夫が必要との事ですが、この「経過年月」フィールドは9年5ヶ月というように
数値と漢字で表記されます。また、計算結果から自動で導き出されてきます。
どのようにすれば数値でソートされるようになるのでしょうか?
よろしくお願いいたします。
お世話になります。
ソートがうまくいかないのでご教授願います。
「経過年月」フィールドに「XX年XXヶ月」というような表示で、導入日から今日までの計算式により経年を表示させています。
この「経過年月」フィールドをソートした時に「XX年XXヶ月」という表示のままで、昇順、降順のソートを行いたいです。
自分でやってみたのですが、何度試しても、うまくいきません。
なんとかいい方法がないでしょうか?
よろしくご教授ください。
[ Generated in 0.018 seconds, 7 queries executed - Memory usage: 676.66 KiB (Peak: 730.2 KiB) ]