タグ: FileMakerあんチョコっと

 気が付けば2019年も残りわずか!
今年は色々な事がありましたね。令和変更や消費税増税、FileMaker社の社名変更クラリス!
.
 上半期のFIleMakerあんちょこっとのアクセスランキング上位3つをご紹介。

  1. 新元号対応の和暦表示カスタム関数
  2. 一覧選択のみで使用するチェックボックス
  3. 集計パートのみ印刷する方法

他にもあるのでぜひご覧になってください!

詳細

FileMaker Ver13~16と、17の違い

FileMakerのVer13で登場した「次の場合にオブジェクトを隠す」は、条件式を満たす場合に該当オブジェクトを非表示にする機能です。
「条件を満たすまでボタンを押されたくない」「権限のある人にだけ値を見せたい」といった仕様を実現することができます。

 

その「次の場合にオブジェクトを隠す」機能の仕様が、Ver17から下記のように変わりました。
「条件式がエラーと評価された場合、オブジェクトは必ず非表示になる」
では、Ver16以前はエラーを含む場合でも表示されていたのかというと、必ずしもそうではありません。

 

様々なエラーを含む条件式を設定し、Ver16(以前)とVer17とで動きを確認してみましょう。

サンプルファイル: hide_object.fmp12

 

準備

「sample」テーブルを作成し、「Field1」「Field2」という名前のフィールドを作成します。

リレーションシップグラフで、「sample 2」「sample 3」というテーブルオカレンスを作成します。

sampleテーブルオカレンスを紐づけたレイアウトを作成し、ボタンオブジェクトを7つ配置します。
それぞれのボタンの「次の場合にオブジェクトを隠す」に、条件式を入力します。

A.sample::Field2

B.sample 2::Field1

C.sample 3::Field1

D.(1/0)

E.(1/0) = 2

F.(1/0) ≠ “?”

G.(1/0) = “?”

sampleテーブルからField2フィールドを削除します。

リレーションシップグラフからsample 3テーブルオカレンスを削除します。

 

結果

Ver16以前

Ver17

 

1.式内のフィールドが参照できない場合(A,B,C)

フィールドを削除した場合や、現在のレイアウトから参照できないテーブルオカレンスを参照している場合など。
Ver17では非表示なのですが、16以前では隠されません。

 

2.式全体がエラーとなる場合(D)

例えば条件式を「1/0」(ゼロ除算)とすると、式はエラーとなります。
この場合、Ver17でもVer16以前でもオブジェクトは非表示となります。

 

3.式の一部にエラーを含む場合1(E,F,G)

条件式を「(1/0) = 2」とすると、左辺がエラーとなります。
式にエラーを含んでいますので、Ver17ではオブジェクトは非表示となります。
一方Ver16以前ですが、左辺は”?”を返します。
その結果、「”?” = 2」という式になります。
この式は成立しないため、式全体としてはFalse(偽)を返します。
その結果、オブジェクトは隠されません。
どちらも非表示となりますが、その過程が異なるのです。

では、「(1/0) ≠ “?”」という条件式だとどうなるでしょうか。
もちろんVer17では非表示となります。
Ver16以前では「”?” ≠ “?”」となり、式全体としてはFalse(偽)を返します。
その結果、オブジェクトは隠されません。

さらに「(1/0) = “?”」の場合。
Ver17では非表示。
Ver16以前では「”?” = “?”」となり、式全体としてはTrue(真)。よってオブジェクトは隠されます。

 

まとめ

  削除したフィールドを参照 他のリレーショングループを参照 削除したテーブルオカレンスを参照 1/0 (1/0)=2 (1/0)≠”?” (1/0)=”?”
Ver.17 非表示 非表示 非表示 非表示 非表示 非表示 非表示
Ver.13~16 表示 表示 表示 非表示(※1) 表示 表示 非表示(※2)

※1:式全体がエラーのため ※2:式が成立するため

 
こうしてみると、Ver16以前の判定はややこしく感じますね。
Ver17でスッキリ整理された、ということになるかと思います。

なお、既存のFileMakerファイルのVerを上げた際、表示・非表示の状態が変わってしまう可能性がありますので、しっかり確認しておきましょう。

詳細

YearName関数の代わりに使える、新元号「令和」対応のカスタム関数を作成しました。

 

2019年5月1日に行われる改元に際し、FileMakerの対応は公式ページでアナウンスされているとおりです。

  • バージョン17については、5月中にアップデータ提供予定 2019/4/25のアップデータにて対応済み
  • バージョン15および16については、6月以降にアップデータ提供予定
  • バージョン14以前については、アップデータの提供予定なし

 

【日本の新しい年号への対応について】
https://support.filemaker.com/s/article/Japanese-New-Emperor-Calendar?language=ja

「この機会にぜひ最新バージョンへの乗り換えを」というところではありますが、諸般の事情により、バージョン14以前を引き続き使われる方もいらっしゃるかと思います。

 

そこで、YearName関数の代わりに使えるカスタム関数を作成しました。

YearName関数を使っている箇所をこちらのカスタム関数に置き換えることで、新元号「令和」への対応ができます。バージョンアップまでのつなぎとしてご利用下さい。

(※カスタム関数の作成は、FileMaker Pro Advanced が必要です)

 

サンプルファイル: NewYearEra.fmp12

 

Kgs_YearName ( 日付 ; 形式 )

2019年5月1日より前であれば従来のYearName関数を呼び出し、後であれば新元号「令和」表記を返します。引数はYearName関数と同じです。

 

 

2019年5月1日を和暦表示した例。従来のYearName関数では「平成31」となりますが、Kgs_YearName関数では新元号で表示されています。

詳細

.
 FileMakerにはテーマ設定が追加されていますが、皆さんご利用されていますか?
.

テーマ設定機能が出来てから作成時に便利になりましたが、テーマ設定の無い旧バージョンからアップする時は、設定しなおすのが面倒でそのまま…っという方は多いんではないでしょうか?
そんなに変わらないんじゃなーい?っと思われるかもしれませんが、変わります!
.

 【テーマ設定】やったほうが良いです!
 何が違うかといいますと、ファイルの重さが違うんです!
.

FileMaker社でもテーマ設定を行うことで軽くなるというお話が出ています。
テーマ設定はいわゆるHTMLにあるスタイルシートみたいなものだそうです。
なので、レイアウトごとに書き込まれていた設定条件を一か所でまとめて管理したほうが軽くなるんです!

 いやいや、でもうちのファイルはデザインそんなにないしーと思われる方、ある程度のレイアウト数がありましたら設定を見直された方が良いですよ!
しかも!旧ファイルは機能が少ないため比較的軽いですが!、新バージョンにアップしますと機能が追加され重くなってしまいます。

【弊社のファイルでの実験】

旧ファイル:FileMakerPro9 拡張子fp7
レイアウト数:60
テーブル数:16
スクリプト数:204
.

1)FileMakerPro9
1,752KB
2)FileMaker17に変換時
4,780KB
 →最適化
3,412KB
3)17に変換後、テーマ設定
3,856KB
 →最適化
2,688KB






.
.

ここまで変わっていきます!
そのほかに、旧ファイルで画像ボタンにしていたものは、全てボタン機能に切り替えています。
レイアウト設定上でも旧ファイルではできなかったライン設定などもあるので、オブジェクトで表現しなくてもよくなったものはジャンジャン消していきましょう!

詳細

データベースデザインレポートが0kbで作成されることがありました。

原因

調べていくと、なんと原因は、レイアウトに特殊文字が貼り付けられていたこと!!
レイアウト上では「!!」と表示されていました。

文字コードは「U+0013」。

対処方法はずばり、この文字を消す以外に手がありませんでした。

もしかしたら他にもあるかもしれません。。

詳細

こんなときー!

FileMaker13をwindows10で使用時、メール送信スクリプトが使えなくなった時!
今回おきたのは、ofice365メールでしたので、その対処法をご紹介!
※FIleMaker13は、現在FileMaker社のサポート対象外のバージョンなため、他の動く方法をさがします!

原因の一部として

・FileMakerPro13のバージョンは32bitのアプリのため、windows10が64bitの場合、ofice365のメールが使えなくなることがあります!
FMサポート記事詳細
 https://support.filemaker.com/s/answerview?language=ja&anum=14914
 https://support.filemaker.com/s/answerview?language=ja&anum=14550
詳しい内容は上記記事をお読みください。

対処法

・メール送信は使えないため、清く「URLで開く」でHTMLメールリンクで起動させてしまいましょう。
前提条件:初期起動をちゃんとofice365の指定にしておく。
 設定、確認方法↓
 https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=018751

注意!

 ・HTMLリンクになるので、空白、改行、特殊記号を変換しておきましょう。
 (改行:%0d%0a、半角スペース:%20)
 ・日本語の文章は文字化けしやすいので注意

詳細

文字化け問題!


古いFileMakerから最新のFileMakerにバージョンアップすることが時々発生しますが、
その際に一部日本語で正しくデータ移行されずに、文字化けにより別の文字になることがあります。
弊社で把握している文字化けをリストアップしました!

発生バージョン:

FileMaker5 (以下FM5)のバージョンで入力されたテキストデータ

対処方法

FM5のデータをcsvファイルでエクスポート。
ファイルを細心のバージョンに変換を終えてから、インポートしましょう!

文字化けした特殊文字リスト

FM5 → FM15
Ⅰ → 特
Ⅱ → 監
Ⅲ → 企
Ⅳ → 協
Ⅴ → 労
① → 日
② → 月
③ → 火
④ → 水
⑤ → 木
⑥ → 金
⑦ → 土

詳細

こんなときー!

同じテーブルにチェックボックス用のフィールドを置くと、同時編集時に動いてしまう。
(たとえば、複数印刷のために選択をしたりする場合)
同時編集されてる時に、選択チェックを出来るようにするには?!

例)検索結果の一覧で、特定のユーザーのみ選択して処理を行いたい場合、
普通のフィールドでチェックボックスを作ると、誰かが同じテーブルを編集した場合、ぶつかったり自分のチェックが消えてしまう!

レシピ

①データーベース

テーブル構成
・リストテーブル
・WKテーブル

②リレーション設定

・関連データの自動作成
WKテーブル側にチェックフラグを持たせ、使用者アカウントとテーブルID、レイアウト名で紐付け、リレーションで自動作成にし、チェックを入れるだけで作成されるように設定。
【リレーション設定例】

※レイアウト名で紐づけを行うと、別のレイアウトで同じように使用できる。

③スクリプト設定

現在のアカウントで、チェックフラグが入ったものだけを検索し、印刷すれば、他の人がチェックしたものに影響さずにできます!
また、画面遷移時、もしくは、ファイルを閉じるさいに、使用者アカウントでWKを検索し削除!

【adminがチェックした画面】

【ワーク側の作成データ】

.
見本のファイルはこちら>>ダウンロードファイル
.

詳細

こんなときー!

ソートしたカウントの[小計・ソート対象]パートの結果だけを複数印刷したい。ボディーの内容(明細)はいらん!
そんなときー!
その為だけに、新しいフィールドを作って、結果をセットなどとメンドウなことをしないで作りたい、という人のためのアンチョコ。

たとえば)今月流行している風邪が何種類かあり、かかっている患者の小計を、種類ごとにタイトルをつけて印刷したい。
インフルエンザA型はこれまで20人、インフルエンザB型30人。など

レシピ

①データーベース

フィールド
・ソート用フィールド
・基準フィールド
・集計フィールド(カウント、現在のカウント、ソートされたグループごとに集計を再開する、繰り返しの集計:全体、ソート対象指定:ソート用フィールド)

.
【データ例】

②レイアウト設定

 [ヘッダー]パートでがっつり幅をとった後、[小計・ソート対象]パート、[フッター](無くても良い)で構成して印刷すると、[小計・ソート対象]パート分のみ印刷される。
 ボディは入れちゃいけません!
 → ボディを入れると、対象データの個別レコード(明細)が印刷されるが、ヘッダーとフッターのみにすれば、小計パートのデータ分しかプレビュー時に表示されなくなるのです!パチパチ
 
 ※同じレイアウトで小計が違うという場合は[小計・ソート対象]パートを複数設置!
 ソートが違ければ、表示はされないので、見せたいパートのソートを行なえばOK

【印刷レイアウト画面例】 ※リスト形式で表示しています。
印刷レイアウト画面

③スクリプト設定

対象のデータを絞り込み、ソートを行なうことで小計・ソート対象のデータが表示されます。

【注意!】PDF保存のとき「対象レコード」を選択しないと、集計パートは印刷されない、「現在のレコード」だと空欄になってしまいます。

【印刷プレビュー例】
1ページ目2ページ目

.
.
見本のファイルはこちら>>ダウンロードファイル
.

詳細

「FileMakerあんチョコっと」は、FileMaker開発でほんの少し参考になる内容から、開発時で起きた問題をまとめたものです。
ちょこっとした内容や、硬くなりすぎず、あんちょこのようにさくっと軽く読める内容を目指して、時々出先で困った時の社員のアンチョコ用にも・・・

詳細