FileMakerあんチョコっとオブジェクトフィールドへのファイルの挿入に時間がかかる時こんなときー!FileMaker上で画像をオブジェクトフィールドに取り込む際、やたら時間がかかることがあります。空いてるか確認しよう!FileMakerのドキュメントには、「オブジェクトフィールドへのデータの挿入には443番ポートが使われる」と書かれています。443番ポートを開放しなくても、(時間はかかるものの)挿入が出来てしまうんです!小さい容量であれば環境によってすぱっとデータが入ってしまいます。テスト環境上では問題なかったのに、本番稼働では重い!というような時は443番ポートを確認しましょう。「変数を設定」vs「テキストを挿入」FileMakerで変数にテキストを設定する際、一般的には「変数を設定」スクリプトステップを使うことが多いのではないかと思います。「変数を設定」スクリプトステップは、FileMakerに変数という機能が登場したVer.8から存在しています。この変数へのテキスト設定という場面で、「テキストを挿入」スクリプトステップも使えるということをご存知だったでしょうか。「テキストを挿入」スクリプトステップは、もとは指定したフィールドにテキストを挿入するためのものでしたが、Ver.16でテキストの挿入先として変数も指定することができるようになりました。「変数を設定」スクリプトステップが用意されているにも関わらず、わざわざ「テキストを挿入」スクリプトステップを使うメリットはあるのでしょうか。両スクリプトステップの違いを見ていきましょう。【1】挿入する値として指定できるものの違い「テキストを挿入」で指定できるのは、その名の通り、テキスト(文字列リテラル)のみです。変数などを指定することはできません。「$a」と記述すると、「$a」というテキストがセットされます。「変数を設定」スクリプトステップは、文字列リテラルだけでなく、変数やフィールド、関数などを指定することができます。「$a」と記述すると、$aという変数にセットされている値がセットされます。「”$a”」と記述すると、「$a」というテキストがセットされます。したがって、固定のテキストを挿入する時はどちらのスクリプトステップも使用可能ですが、それ以外の場合は「変数を設定」を使用することになります。【2】ダブルクォーテーションの扱いの違い「変数を設定」スクリプトステップの場合、挿入するテキスト全体をダブルクォーテーション(”)で囲む必要があります。そのため、挿入するテキストにダブルクォーテーションを含んでいる場合は、エスケープ処理が必要です。具体的には、テキスト内のダブルクォーテーションの前にバックスラッシュ(日本語環境では¥マーク)を付けます。「テキストを挿入」スクリプトステップでは、全体をダブルクォーテーションで囲む必要がありません。したがって、テキスト内にダブルクォーテーションを含む場合でも、エスケープなしで記述することができます。テキスト内にダブルクォーテーションが多く含まれる場合(例えばHTMLソースなど)は、「テキストを挿入」スクリプトステップが便利です。【3】上書き/追記の指定の違いすでにテキストがセットされている変数を更新する場合、内容を上書きするケースと、テキストを追記するケースとがあります。それぞれのスクリプトステップで、上書き・追記の指定のしかたに違いがあります。「変数を設定」スクリプトステップでは、上書きと追記とで「値」の書き方が異なります。・上書き「値」に上書きするテキストを入力します。「テキストを挿入」スクリプトステップの場合、テキストの内容に違いはありません。「内容全体を選択」チェックボックスによって上書き・追記を指定します。選択」チェックボックスをOFFにします。これについては好みが分かれるところだと思います。上書き」、というのが直感的でないように思います。)【4】処理速度の違い変数($message)にテキスト(あいうえおかきくけこさしすせそたちつてと)をセットする処理をループで繰り返し実行し、その時間を測定しました。上書きの処理時間は、両スクリプトステップにほとんど差はありませんでした。追記処理の速度は、ループ回数が増えるにつれて大きな差が生じました。「テキストを挿入」は上書き処理と変わらない時間で処理しているのに対し、「変数を設定」は指数関数的に時間が遅くなっていきました。以上のことから、「テキストを挿入」を変数に対して使用するメリットは、ダブルクォーテーションのエスケープ処理が不要だという点と、大量テキストの処理が高速に行えるという点だと言えそうです。HTMLをWEBビューアで表示するケース。HTMLヘッダ部分は、ダブルクォーテーションを含む定型文であることが多いと思います。src="https://hoge/fuga.js"></script>...他にも、jsonを扱う際にもダブルクォーテーションが数多く登場します。フィールドや変数の値をjsonに反映する場合は「変数を設定」を使用することになりますが、定型の箇所には「テキストを挿入」を使うと便利かもしれません。大量の固定テキストを扱うことはあまりないかもしれませんが、そういう場面では「テキストを挿入」を採用することも選択肢の一つとして覚えておくと良さそうです。資格情報の記憶!時々お問い合わせがある自動ログイン問題。便利なんですが、パソコンの使用者が変わって同じアカウントでパソコンにログイン(あまりよろしくないのですが)とか共有のパソコン一台を色々な人が使用しているとか、という時に誰かが自動ログインにチェックをしてしまうと、それ以降の人の個別アカウントが使用できなくなることがあります。今回はその情報をリセットする方法をご紹介。🔷Windowsファイル検索で「資格情報」と検索しましょう!すると、「資格情報マネージャー」が出てきます。クリックし、対象のファイル名FileMakerだと「FM:<ファイル名>」と登録されているかと思います。🍎MAC名称が「キーチェーン」になります。「表示」>「キーチェーンを表示」と選択します。「キーチェーン」リストでキーチェーンを選択します。「ファイル」>「キーチェーン<キーチェーン名>を削除」と選択します。「参照を削除」をクリックします。気が付けば2019年も残りわずか!今年は色々な事がありましたね。令和変更や消費税増税、FileMaker社の社名変更クラリス!.上半期のFIleMakerあんちょこっとのアクセスランキング上位3つをご紹介。消費税マスタの作成案!上がってほしくない消費税、ですが10%に上がってしまいます。お客様のシステムで時々あるのですが、昔はそうそうに上がらなかった消費税のため固定や直接指定されているシステムがあったりします。・過去の消費税の期間が分かる!・未来の消費税を前もって登録できる!(消費税変更日に張り付いて変更なんてしなくても大丈夫!)・軽減税率のように複数の消費税登録時に複数表示が可能になる!今回は簡単に作成!消費税マスタ、応用編は簡易経過措置付き★のご紹介!今回の経過措置は4/1前までの契約の場合は8%それ以降で、10/1を超えた契約は10%計算です!きゃーーー<豆知識という名のメモ!>経過措置とは?企業だと長いスパンでの契約があるかと思います。消費税8%だった時に契約したのに完了時&支払時は10%という時の消費税をどうするか!という決まりだそうです。http://www.nta.go.jp/index.htm消費税率等の引上げについて(平成31年(2019年)10月1日~)あたりを参照です。・消費税率を数字で入力、消費税の開始日、終了日の登録を行います。開始日終了日を入れることで、事前に消費税の登録が可能に!・「表示順」は★初級2のドロップダウンリストのソート用です。・削除フラグチェックのために、消費税0を作成。・経過措置は応用編にて。1-2)リレーションシップを作成しますここで削除フラグとシステムマスターを連結!削除フラグが1になったものは表示されなくなるようにします。消費税フィールドを選択し、ここで「次のテーブルから関連レコードの値のみ含める」でシステムマスタ(M0000_System)を選択します。初級1と同じ設定をしたら、2番目のフィールドを指定し、「2番目のフィールドのみ表示」にチェック。3レイアウト設定フィールドに設定します★初級1ではドロップダウンリストに「Ci_消費税_フィールド設定」インスペクタのデータ書式設定でパーセントにしておきます。★初級2ではポップアップメニューで「Ci_消費税_ソート」にします。こちらは計算式で%表示するように設定しているので書式設定は不要です。5完成これで完成です。簡単!簡易!★応用編レシピここからは応用編!ちょっと難しくなります。タイトルをクリック!★応用編3レシピスクリプトで取得!現在の日付から判別し、最新の消費税を取得しちゃう!スクリプト既存のスクリプトに設定しやすいように、新規作成スクリプトをかませています。・消費税マスタを開始日と終了日で検索し、結果の消費税を返すだけです。・受け取った返却値を作成したレコードの消費税にセット!これで完成です。・契約日は必須になります。・前回の消費税検索でget(日付)で行っていたのを契約日で検索するように変更します。・検索内容は応用編3のレシピとほぼ一緒です。ソートは開始日に変更して、対象のデータを取得。・取得したデータの最初の行を変数にセットして順番にチェックしていきます。・経過措置前の場合は取得した消費税、後の場合は納品日の日付で消費税の取得を行ってます。・納品日は必須ではないです。その場合は契約日の時点の消費税を返します。サンプルファイルの契約日、納品日を変更して、経過措置ボタンを押下して見ましょう!もっと応用アドバイス・応用編4をもっとシンプルにしたい!汎用的にしたい!という場合は引数を使って、検索スクリプトを分けてしまいましょう!引数は日付です。受け取り側は変数にセットしましょう。gettax(契約日)」と直すだけで、消費税を取得する関数を作成できます。今回のソースの場合関数の中身はこんな感じになります。Ver13~16と、17の違いFileMakerのVer13で登場した「次の場合にオブジェクトを隠す」は、条件式を満たす場合に該当オブジェクトを非表示にする機能です。「条件を満たすまでボタンを押されたくない」「権限のある人にだけ値を見せたい」といった仕様を実現することができます。その「次の場合にオブジェクトを隠す」機能の仕様が、Ver17から下記のように変わりました。「条件式がエラーと評価された場合、オブジェクトは必ず非表示になる」では、Ver16以前はエラーを含む場合でも表示されていたのかというと、必ずしもそうではありません。様々なエラーを含む条件式を設定し、Ver16(以前)とVer17とで動きを確認してみましょう。「sample」テーブルを作成し、「Field1」「Field2」という名前のフィールドを作成します。3」というテーブルオカレンスを作成します。sampleテーブルオカレンスを紐づけたレイアウトを作成し、ボタンオブジェクトを7つ配置します。それぞれのボタンの「次の場合にオブジェクトを隠す」に、条件式を入力します。“?”sampleテーブルからField2フィールドを削除します。3テーブルオカレンスを削除します。結果Ver16以前Ver171.式内のフィールドが参照できない場合(A,B,C)フィールドを削除した場合や、現在のレイアウトから参照できないテーブルオカレンスを参照している場合など。Ver17では非表示なのですが、16以前では隠されません。2.式全体がエラーとなる場合(D)例えば条件式を「1/0」(ゼロ除算)とすると、式はエラーとなります。この場合、Ver17でもVer16以前でもオブジェクトは非表示となります。2」とすると、左辺がエラーとなります。式にエラーを含んでいますので、Ver17ではオブジェクトは非表示となります。Ver16以前ですが、左辺は”?”を返します。2」という式になります。この式は成立しないため、式全体としてはFalse(偽)を返します。その結果、オブジェクトは隠されません。どちらも非表示となりますが、その過程が異なるのです。“?”」という条件式だとどうなるでしょうか。Ver17では非表示となります。“?”」となり、式全体としてはFalse(偽)を返します。その結果、オブジェクトは隠されません。Ver17では非表示。“?”」となり、式全体としてはTrue(真)。よってオブジェクトは隠されます。※2:式が成立するためこうしてみると、Ver16以前の判定はややこしく感じますね。Ver17でスッキリ整理された、ということになるかと思います。カスタム関数を作成しました。2019年5月1日に行われる改元に際し、FileMakerの対応は公式ページでアナウンスされているとおりです。2019/6/18のアップデータにて対応済みバージョン14以前については、アップデータの提供予定なし【日本の新しい年号への対応について】https://support.filemaker.com/s/article/Japanese-New-Emperor-Calendar?language=ja「この機会にぜひ最新バージョンへの乗り換えを」というところではありますが、諸般の事情により、バージョン14以前を引き続き使われる方もいらっしゃるかと思います。そこで、YearName関数の代わりに使えるカスタム関数を作成しました。YearName関数を使っている箇所をこちらのカスタム関数に置き換えることで、新元号「令和」への対応ができます。バージョンアップまでのつなぎとしてご利用下さい。引数はYearName関数と同じです。2019年5月1日を和暦表示した例。従来のYearName関数では「平成31」となりますが、Kgs_YearName関数では新元号で表示されています。旧ファイルのバージョンアップの小ネタ-テーマ設定-.FileMakerにはテーマ設定が追加されていますが、皆さんご利用されていますか?.テーマ設定機能が出来てから作成時に便利になりましたが、テーマ設定の無い旧バージョンからアップする時は、設定しなおすのが面倒でそのまま...っという方は多いんではないでしょうか?そんなに変わらないんじゃなーい?っと思われるかもしれませんが、変わります!.【テーマ設定】やったほうが良いです!何が違うかといいますと、ファイルの重さが違うんです!.FileMaker社でもテーマ設定を行うことで軽くなるというお話が出ています。テーマ設定はいわゆるHTMLにあるスタイルシートみたいなものだそうです。レイアウトごとに書き込まれていた設定条件を一か所でまとめて管理したほうが軽くなるんです!いやいや、でもうちのファイルはデザインそんなにないしーと思われる方、ある程度のレイアウト数がありましたら設定を見直された方が良いですよ!しかも!旧ファイルは機能が少ないため比較的軽いですが!、新バージョンにアップしますと機能が追加され重くなってしまいます。拡張子fp7レイアウト数:60テーブル数:16スクリプト数:204.1)FileMakerPro91,752KB2)FileMaker17に変換時4,780KB→最適化3,412KB3)17に変換後、テーマ設定3,856KB→最適化2,688KB123..ここまで変わっていきます!そのほかに、旧ファイルで画像ボタンにしていたものは、全てボタン機能に切り替えています。レイアウト設定上でも旧ファイルではできなかったライン設定などもあるので、オブジェクトで表現しなくてもよくなったものはジャンジャン消していきましょう!詳細データベースデザインレポートが0kbで作成されることがあるデータベースデザインレポートが0kbで作成されることがありました。調べていくと、なんと原因は、レイアウトに特殊文字が貼り付けられていたこと!!レイアウト上では「!!」と表示されていました。文字コードは「U+0013」。対処方法はずばり、この文字を消す以外に手がありませんでした。したら他にもあるかもしれません。詳細FileMaker13をwindows10で使用時、メール送信スクリプトが使えなくなった時!こんなときー!FileMaker13をwindows10で使用時、メール送信スクリプトが使えなくなった時!今回おきたのは、ofice365メールでしたので、その対処法をご紹介!※FIleMaker13は、現在FileMaker社のサポート対象外のバージョンなため、他の動く方法をさがします!原因の一部として・FileMakerPro13のバージョンは32bitのアプリのため、windows10が64bitの場合、ofice365のメールが使えなくなることがあります!FMサポート記事詳細https://support.filemaker.com/s/answerview?language=ja&anum=14914https://support.filemaker.com/s/answerview?language=ja&anum=14550詳しい内容は上記記事をお読みください。・メール送信は使えないため、清く「URLで開く」でHTMLメールリンクで起動させてしまいましょう。変換しておきましょう。詳細VerUp時の文字化け注意メモ文字化け問題!古いFileMakerから最新のFileMakerにバージョンアップすることが時々発生しますが、その際に一部日本語で正しくデータ移行されずに、文字化けにより別の文字になることがあります。(以下FM5)のバージョンで入力されたテキストデータ対処方法FM5のデータをcsvファイルでエクスポート。一覧選択のみで使用するチェックボックス(同時使用者用)こんなときー!同じテーブルにチェックボックス用のフィールドを置くと、同時編集時に動いてしまう。・関連データの自動作成WKテーブル側にチェックフラグを持たせ、使用者アカウントとテーブルID、レイアウト名で紐付け、リレーションで自動作成にし、チェックを入れるだけで作成されるように設定。※レイアウト名で紐づけを行うと、別のレイアウトで同じように使用できる。集計パートのみ印刷する方法。こんなときー!ソートしたカウントの[小計・ソート対象]パートの結果だけを複数印刷したい。ボディーの内容(明細)はいらん!そんなときー!その為だけに、新しいフィールドを作って、結果をセットなどとメンドウなことをしないで作りたい、という人のためのアンチョコ。)今月流行している風邪が何種類かあり、かかっている患者の小計を、種類ごとにタイトルをつけて印刷したい。インフルエンザA型はこれまで20人、インフルエンザB型30人。レシピ1データーベースフィールド・ソート用フィールド・基準フィールド・集計フィールド(カウント、現在のカウント、ソートされたグループごとに集計を再開する、繰り返しの集計:全体、ソート対象指定:ソート用フィールド).【データ例】2レイアウト設定[ヘッダー]パートでがっつり幅をとった後、[小計・ソート対象]パート、[フッター](無くても良い)で構成して印刷すると、[小計・ソート対象]パート分のみ印刷される。※リスト形式で表示しています。対象のデータを絞り込み、ソートを行なうことで小計・ソート対象のデータが表示されます。【注意!】PDF保存のとき「対象レコード」を選択しないと、集計パートは印刷されない、「現在のレコード」だと空欄になってしまいます。【印刷プレビュー例】..見本のファイルはこちら>>ダウンロードファイル.詳細FileMakerあんチョコっと「FileMakerあんチョコっと」は、FileMaker開発でほんの少し参考になる内容から、開発時で起きた問題をまとめたものです。