FileMakerあれこれブログ

FileMakerに関する、あれやこれやの解決策や小技など、思い付いたものをどんどん書き込んでいきます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

レイアウトへのメモ書き

スクリプトトリガや条件付き書式などを使って、少し凝ったレイアウトを作成すると、どこにどんな設定をしたのか、作った本人でさえ分からなくなってしまうことが多々あります。
スクリプトトリガや条件付き書式なら、セットしたフィールドやオブジェクトの右下に小さなマークが付くので、注意して見れば分かりますが、レイアウトにスクリプトトリガをセットした場合や、オブジェクト名を設定した場合などは、メニューからレイアウト設定画面を開いて確認したり、いちいちオブジェクトを選択して、インスペクタから一つ一つ確認していかないと見付けられません。

そんな問題を解決する、ちょっとした方法です。
私が考えたわけではないですが、多くの開発者が使っている方法です。

オブジェクト名などを付けたフィールドの横に赤文字のテキストを配置し、そこに下記のような条件付き書式を設定します。

条件式:(計算式が) Get ( ウィンドウモード = 0 )
その他書式設定から、フォントサイズを500ポイントにして、さらにスタイルを「下付き」にします。

こうすることで、レイアウトモードにした時だけに表示されるメモ書きになります。
オブジェクト名の表示だけでなく、レイアウトのスクリプトトリガが設定されている旨の注意書きや、その他色々なメモ書きに応用できます。

※この機能はVer.11までは有効ですが、残念ながらVer.12では適用できなくなりました...

LayoutMemo01.jpg

LayoutMemo02.jpg

スポンサーサイト

テーマ:ソフトウェア - ジャンル:コンピュータ

レイアウトのコピー

コピーしたいレイアウトが沢山あって、それを複数のファイルに分けて貼り付けたい時など、コピー元のレイアウトを何ページも送りながらコピーペーストしていくのは結構面倒な作業です。
Advancedバージョンでも、テーブルインポートの機能はありますが、レイアウトはインポート出来ないですね...
それでも、コピー元のレイアウトを、いちいちページをめくらずにコピー出来たら、かなり作業は軽減されるのではないでしょうか?
実はそんな裏ワザがあったんです!

まずは、コピー元のファイルにグローバルフィールドを「オブジェクト」のフィールドタイプで、コピーしたいレイアウトの数分だけ作ります。

LayoutCopy02.jpg

次に新規レイアウトを作成し、先ほど作成したグローバルフィールドを、そのレイアウトに配置します。
全部のフィールドが1画面に収まるような大きさで配置していきます。

LayoutCopy03.jpg

そして、レイアウトモードのまま、コピーしたいレイアウトのオブジェクトを全選択してコピーします。

LayoutCopy01.jpg

オブジェクトフィールドを配置したレイアウトに切り替え、ブラウズモードにします。
オブジェクトフィールドの1つを選択し、ペーストすると、オブジェクトフィールドにレイアウトが貼り付けられます!

LayoutCopy04.jpg

これをコピーしたいレイアウトの数だけ繰り返します。
そうすると、1つの画面(レイアウト)に、コピーしたい全てのレイアウトを表示することができます。

LayoutCopy05.jpg

ここからは、もう簡単です。
オブジェクトフィールドのレイアウトを1つずつコピーして、移行先のファイルをレイアウトモードにして貼り付けていくだけです。

この機能、かなり古いバージョンからあったみたいですが、私もつい最近知りました...以外な便利機能です。

テーマ:ソフトウェア - ジャンル:コンピュータ

ポータル行のハイライト

マウスのスクロールボタンなどで、明細画面に表示されるレコードを送っていくと、現在どの明細情報が表示されているかを、ポータル行をハイライトさせて明示する方法。

下図のような感じで、現在明細情報が表示されている行はどれなのかをハイライトさせたい。

PortalHighLight_01.jpg


まずは明細画面に紐付けられているテーブルの、自己リレーションを設定します。
何かの値が必ず入っているフィールド同志をリレーションさせ、演算子は「x」を使います。

PortalHighLight_02.jpg

次に明細画面レイアウトにポータルを配置します。
関連するリレーションは先ほど設定したものです。
表示したいフィールドをポータルに配置したら、そのフィールドの塗りを「なし」にします。
続いて白い矩形オブジェクトをボタンツールで作成し、ポータル行の大きさに合わせます。
「ボタン」で作成しましたが、スクリプトを関連付ける必要はありません。
矩形オブジェクトは、ポータル内のフィールドの背面に設置します。

PortalHighLight_03.jpg


そして、このオブジェクトを右クリックして、条件付き書式を設定します。
「条件」は、このレコードを特定するフィールド(シリアル番号など)と、先ほど設定した自己リレーションの同フィールドの値が同じだったら...という計算式にします。
「書式」は塗りつぶし色をハイライトさせたい色に設定します。

PortalHighLight_04.jpg


これでOKです。
ブラウズモードに切り替えると、ポータルのどこかの行がハイライトされていると思ます。
そして、マウスのスクロールなどで詳細画面を送っていくと、ポータル行のハイライトが移動していきます!

テーマ:ソフトウェア - ジャンル:コンピュータ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。