みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
ありがとうございます。フィールドを作らなきゃダメなんですね。
アクティブポータル行番号=0というのも忘れないようにですね。
FMP14adv
Mac
です。
ポータルにボタンをおくと、ボタンがたくさん並んでしまうので、
その行がアクティブでなければボタンを日表示したいと思っています。
次の場合にオブジェクトを隠す で、
Get ( アクティブポータル行番号 ) ≠ Get ( レコード番号 )
としてみたのですが、
オブジェクトはきちんとポータル行に乗っているのに、
表示されるのはポータルの外側のレコード番号と一致したときという挙動になってしまっています。
{{レコード番号}}だと、ポータルの行の番号が表示されるのですが、
ボタンがどの行にのっているかは取れないのでしょうか?
Mozさん ありがとうございます。
ご指摘の通り、レイアウト切り替えです。
Get ( アクティブ修飾キー )を使えば簡単にできるんですね。
ありがとうございました。
FMP14adv(クライアントはFMP13も混在)
Mac(クライアントにはWinも)
サーバーはFMS13(Win)
通常はウインドウを切り替えているが、
Shift クリック で同じボタンを押したときには
別ウインドウで開く、という事ができないかと考えています。
可能なものでしょうか?
Shin さん Mozさん ありがとうございます。
バッチリ、スクリプト名がとれました。
Evaluate で計算式を評価するタイミングのコントロールができるのはとてもいい勉強になりました。
しかしスクリプトが動いている間に更新させないといけないので、
レコード確定入れる必要がありますね。
FMP14adv
Mac
です。
ハウスキーピングフィールドで、
作成タイムスタンプ、アカウント
更新タイムスタンプ、アカウント
をフィールドの自動入力で取っています。
想定しないレコードの変更がなされている原因を突き止めるために、
スクリプトで更新された時にどのスクリプトがそのレコードを更新したかを、
Get(スクリプト名)で自動入力できないかと考えたのですが、
更新されたタイミングではスクリプトが終了しているようで、
自動的にスクリプト名を取得することはできませんでした。
何かいい方法はないでしょうか。
スクリプトは数も多いので、スクリプトを実行するときにフィールド設定するのではなく、
フィールドの自動入力でできればと思っています。
よろしくお願いいたします。
筋の悪い処理だと思いますが、
うまくいかないカスタム関数のどこがだめなのか、
どう考えたらいいのか、アドバイスをいただければと思います。
よろしくお願いいたします。
NK
ファイルオプションで 「次のアカウントを使用してログイン」を設定したということでしょうか?
であれば、Shiftを押しながらファイルをダブルクリックして開くと、
アカウント・パスワードを聞く画面が出てきます。
そこで、完全アクセス権のアカウントを入力してみてください。
カスタム関数も作ってみたのですが、
うまく計算ができません。
スクリプトのようにデバッグできないので、
どこがおかしいかを検証しきれずにいます。
アドバイスいただけると嬉しいです。
Payroll(金額 変更日 基準日 回数) 金額と変更日は繰り返しフィールド 回数は1もしくは入力せず
Let (
回数 =Case ( IsEmpty ( 回数 ) ; 1 ;
Count( 適用開始日 ) ≥ 回数 ; 回数 ;
0
)
;
Case(
回数 > 0 and
基準日 ≥ GetRepetition ( 適用開始日 ; 回数 ); GetRepetition ( 金額 ; 回数 ) ;
Payroll ( 金額 ; 適用開始日 ;基準日 ; 回数 + 1 )
)
)
//回数は入力しないか1
その前に考えたのは、これですが、これは、繰り返し2番目以降のデータが取れませんでした。
Let (
回数 = Get ( 計算式繰り返し位置番号 )
;
Case(
基準日 ≥ GetRepetition ( 変更日 ; 回数 ); GetRepetition ( 金額 ; 回数 )
)
)
ありがとうございます。
別テーブルでというのは自分でもそう思います。
Lastというのは久しく使っていなかったのですっかり忘れていました。
ありがとうございます。
交通費や時給などが変更する事に対応をするため、
それぞれを繰り返しフィールドにし繰り返しではなく、
変更ごとに1レコードとする別テーブルにすべきでしょう。
データベースとしては、おっしゃる通りなのですが、
給与は過去の物を取っておく必要はなく、
シフトを今月と来月と作っていて、
その途中で参照する給与や交通費が変わったり、
数ヶ月後の昇給の記録を、その月の給与計算のタイミングではなく事前に入力しておく、
くらいなので、繰り返しで処理できるのなら、構造をいじらなくて済むのでいいなと思っています。
お世話になります。
Mac FMP14adv です。
給与計算の仕組みを作っています。
関連するテーブルは
・月次シフト(従業員1人1ヶ月で1レコード)
・従業員マスタ
のふたつで、従業員マスタのIDでリレーションしています。
従業員マスタには、交通費・時給(月給)などの給与のフィールドがあります。
それを、月次シフトの対応するフィールド、交通費・時給(月給)などに、
計算値自動入力で、ルックアップ(従業員マスタ::交通費)しています。
給与を別テーブルにせず、使用しているのですが、
昇給や転居などで、交通費や時給などが変更する事に対応をするため、
それぞれを繰り返しフィールドにし、
その繰り返し位置に対応する適用開始日の繰り返しフィールドを作りました。
・従業員マスタのフィールド
・交通費[100] [1] ¥130 [2] ¥260 [3] [4]
・交通費変更日[100] [1] 2015/8/1 [2] 2015/1/18 [3] [4]
・月次シフトのフィールド
・交通費
・月末日 (例:2015/9/30)
これを変更日のフィールドの日付がで判定して、繰り返し位置の1番か2番のどちらを使うかを選択する
カスタム関数を作りたいのですが、
カスタム関数を作り慣れておらずゆきずまっています。
カスタム関数の引数は、
金額(交通費や時給のフィールド)
変更日
基準日(月末の日付フィールド)
の三つでできるのではないかと思っています。
よろしくお願いいたします
ありがとうございます。
通知センターをスワイプするのでなく、
画面に表示したいとなると、やはり素直にAPIを使うということですね。
ありがとうございます。
お世話になります。
FMP14adv Mac
GO14
お世話になります。
FileMakerGOの画面で、
天気予報を表示したいと考えています。
ウェブビューワで天気予報のサイトのURLを指定して表示すると、
画面全体が表示されますが、
GOの画面の一部に常時天気予報の部分だけを表示するために、
ウェブビューワの中で表示する位置を高さ、左からの位置などを指定することはできないでしょうか。
APIを使ってというより簡単にできはしないかと思い、
質問してみました。
どうぞ宜しくお願い致します。
Shinさん、ありがとうございます。
確かに、日付をボータルの外に出すというのは盲点でした。
ただ、1日だけではなく、数日を一つのポータルに入れたいということがあるので、
今回はこのやり方は無理かなと思いました。
GetNthRecord ( フィールド名 ; Get ( アクティブポータル行番号 ) + 1 )
というのは、やってみたところ、うまくいかなかったです。
ポータル行でどこが選択されるかに依存するからなのか、
僕のやり方が悪かったからなのかはまだよくわかりません。
顧客側のテーブルに、グローバルフィールドで日付フィールドを作ります。顧客IDと日付フィールドでリレーションを貼るだけで良いでしょうね。日付はポータルの中には表示せず、顧客側のグローバルフィールドを表示しておきます。
前後の日付を表示させるには、グローバルフィールドの値を変化させれば良いので、それを行うボタンを作れば良いでしょう。
次の行を取得、の意味がちょっと分かりかねますが、GetNthRecord ( フィールド名 ; Get ( アクティブポータル行番号 ) + 1 ) で良いかと思います。
Mozさん、ありがとうございます。
GetNthRecord とGet ( レコード番号 )を使えばいいんですね!
二つ目のテキストを使うやり方だと、計算フィールドを増やすこともなく、
とてもいいなと思いました。
サンプルもありがとうございます!!
1.
非保存の計算フィールドを Get ( レコード番号 ) で作成。
ポータル内の[次の場合にオブジェクトを隠す]で現在の行の日付と1行前の日付を比較して同じだったら隠す。2.
テキストオブジェクトで 1行目にマージフィールドで日付、2行目に {{レコード番号}}として1行分の高さに調整。
GetValue ( Self ; 2 ) でポータル行番号が取得できるので、
現在の行の日付と1行前の日付を比較して同じだったら隠す。指定した行の値を取るには GetNthRecord を使います。
旅人さん ありがとうございます。
ゆっくり取り組む時間がなく、
確認させていただくのが遅くなり申し訳ございません。
アイデアだけですが。
ポータル側のテーブルでIDと日付でリレーションして
その日付の先頭レコードにフラグのような物を立てると
条件付き書式やオフジェクトを隠す?の条件式として使
えますね。
「その日付の先頭レコードにフラグ」というのは、どのようにしてフラグを立てるのでしょうか?
ありがとうございます。
パート設定、確認してみます。
ページ境界をまたぐ
ページの下でパートの残り部分を捨てる
FMP14adv Mac です。
ポータル表示で顧客の介護記録を表示しています。
顧客 (ID=ID_顧客) 記録 のりレーションです。
記録のポータルにはには日付 時刻 コメントのフィールドがあります。
日付・時刻で昇順にソートしてあります。
1日に複数の記録があるので、その日の最初のレコード以外は日付を隠したいです。
1日の一番最初の日だけは日付を表示、それ以外なら隠すという形か、
一番理想的には、ポータルをスクロールした時に
一番上の日は日付を表示し、その日と同じ日付なら非表示というのができるならそれがベストです。
ポータルの次の行のフィールド内容をスクリプトを使わずに取得することはできるのでしょうか?
チポさん、ありがとうございます。
今のところ1日分の記録が2ページにはならないボリュームでレイアウトしているのですが、
小計パートとページ番号の考え方、別の機会で活かせそうです。
小計パートが可変にできないので、
表示するレコード数に、1行の文字数や改行の数をスクリプトで数えて、
レイアウトを切り替えて対応してみます。
1行の文字数が行頭の句読点や「っ」などまで厳密に数えるとなるとうんざりなのですが・・・
ありがとうございます。
旅人さん、ありがとうございます。
>>フッタのサイズが、A4の残りのスペースに合うサイズに拡大できればいいのですが・・・
>後部総計に変更するとか。
後部総計にするとフィールドは上にくっついていくんですね。
空白行は消せました。
行数によってレイアウトを作り分けたらいけそうな気がしてきました。
ありがとうございます。
FMP14adv
Mac
(FMgo14)
です。
介護記録の印刷レイアウトを作っています。
1レコードが1つの記録で、
「時間」「コメント」「担当者」のフィールドがあり、
1利用者・1日の記録をスクリプトで絞り込んでリスト形式のレイアウトを作っています。
コメントが1行〜10行とばらつきがあるので、
リスト形式でボディパートのすべてのフィールドにスライドを
「上方にスライド」
「上の全てのオブジェクトを対象」
「対象を含むパートもサイズを変更する」
としてコメントの量に合わせて書くレコードの高さが調整されています。
ここまでは意図したとおりなのですが、
ボディパートが高さ200pxあるので、
レコードの数が少ないときに、
印刷(プレビューモード)でボディとフッタの間が空白のスペースができてしまっています。
縦の罫線もなく、ぽっかりスペースが空くので、
ここを罫線で埋めることができないかと思っております。
また、可能であれば、
空いたスペースに、その大きさに合わせたオブジェクト(吹き出しの雲のような)を置き、
そこを手書きコメントスペースにできないかと思っております。
フッタのサイズが、A4の残りのスペースに合うサイズに拡大できればいいのですが・・・
リスト形式でレコード数を取ることはできますが、
スライドした高さというのはなんらかのやり方で取れますか?
説明がわかりにくいかもしれませんが、
何卒宜しくお願い致します。
ありがとうございます。
PhotoBoothを使う形ですよね。
AppleScriptはまだ手を出していないので、
折を見てやってみます。
ありがとうございます。
旅人さん、ありがとうございます。
やはりできませんか。
残念ですが、できないことが分かってスッキリしました。
別のやり方を考えます。
Mac OSX Yosemite
FMP14
です。
オブジェクトフィールドに、Macのカメラで写真を撮ってそのまま写真を挿入することはできますか?
FileMakerGOのように、カメラで写真を撮って保存できるといいなと思っております。
[ Generated in 0.006 seconds, 6 queries executed - Memory usage: 658.85 KiB (Peak: 697.76 KiB) ]