2017年7月26日に弊社のプライバシーポリシーが改定されました。引き続きLynda.jp日本版をご利用になることによりこれらの文書に同意されたものとみなされますので、事前にご確認ください。

FileMaker Pro 15 基本講座

Loop処理でイメージの一括書き出し

LinkedInラーニングの無料トライアルを今すぐ試そう

無料で視聴する すべての加入プランを見る
ある日上司に過去に見積もりを30件以上出している商品のイメージ写真を出すように指示がありました。このような時には対象レコードを絞り込み、ループ処理を使って一括の処理をする必要があります。
講師:
11:04

字幕

このレッスンではLoop というステップを使い先頭から順に全ての対象レコードに対して必要な処理を行う手法について説明します。ある日、上司から「過去の見積もりを 30 件以上出している商品のイメージ写真を全部出して。」という指示があったとします。その様な時には対象レコードを、まず作りLoop 処理を使って一括の処理をする必要があります。それについて、まず「商品管理」のレイアウトに移動します。「商品管理」には 26 件のレコードがあり詳細画面に行ってみましょう。この様に商品の写真に見立てたイメージが入っているものと中には入っていないものもあります。また、「過去の見積」としてそれらの履歴が見えています。この見積もりの件数が30 件以上のものを対象にしたいということだと思います。その様な処理を作ってみましょう。「スクリプトワークスペース」を開いてここに「商品の写真をエクスポート」というスクリプトをステップごとに4つまで用意してあります。順に説明していきます。まず組み立てを考えます。このグリーンの色というのはスクリプトのコメントなのですが実際にステップが入っているものはこの黒い文字だったりグリーンじゃないものです。 この様に、ある程度きちんとした処理を作ろうと思うと「スクリプトのテンプレート」というひな形があると楽だと思います。そして、ここに何をすべきかというガイディングを書いてあります。これをもとに、まずステップ 01 ではこの様に分かり切ったことを書いてみました。ヘッダとして、まず、今回の概要に何をやりたいかということを書きました。そして、どこから呼び出すかはとりあえずスクリプトメニューで呼べば良いように考えています。それからエクスポートしますが書き出し先ですね、デスクトップで良いと思っています。写真名は「商品番号 _ 商品名」この様な名前であれば良いのではと考えています。ということで、さらにこの「コンテキスト」という所には実際にスクリプトステップを入れてあります。まず「コンテキスト」がどこで機能するのかということでこれは見積管理や顧客管理ではなく商品管理で動くべきですので「商品管理」というレイアウトに切り替えています。「詳細」の、この画面です。それから「前処理」、「本処理」、「後処理」といった所でいろいろやらなきゃいけないことをどこに振り分けるべきかということをここに書いてみました。まず、「どこに」というパスとファイル名を決めておく必要がありそれらは一旦変数に入れておくと良いでしょう。 それから、販売中のものを検索して対象レコードを作っておく必要があります。販売中という、このフィールドが1 というものです。それから、実際にはその対象レコードの中から1件1件 Loop して写真をエクスポートする必要があります。その1件1件の中で見積が 30 件以上あるかということだったりそれから、写真が登録されているかということなどを判断する必要があると考えました。後処理としては、さほど考えていないのですがおそらく、元のレイアウトに戻す、例えば「見積管理」でこのメニューを選択したとしたら必ず、また元に戻っていた方が良いだろうということです。「レイアウト切り替え」をトップでしていますのでこれとセットで、最後にも「元に戻す」というレイアウト切り替えを入れるようにしています。次に、もう少し進めました。まず前処理です。パスとファイル名を決めておこうという所でデスクトップで良いだろうと思いましたので「変数を設定」で$ 1つのローカル変数に「エクスポート先」という名前を付けそして「Get(デスクトップパス)」という関数を使って今のデスクトップのパスを取得してきています。一旦、保持をしておきそれから、検索をまず、ここで実行しています。 検索の内容は、先ほどの「販売状態が1である」といった条件になっています。それから、レコードを検索後最初のレコードに移動しています。Loop をする時にとても重要です。まず前段階として1件目に必ず移動しておかないと全部、回らない可能性があります。それから、本処理の方にもう1つ気づいた点があります。前処理の所で取っておいた変数のエクスポート先はあくまでもデスクトップパスですがそのファイル名は1つ1つファイル名を付けなければならないのですがそれを設定してません。それについては Loop をしている中で1件1件レコードごとに完全パスのファイル名付きを指定する必要があるでしょう。これは、ここの中ですべきことです。ということで、次がこれを組み立てる所です。少し操作をまじえながらここでやってみましょう。「ループして写真をエクスポート」の所でこの後ろぐらいにまず入れます。Loop というのは「制御」の中にあります。Loop というステップをこの中から選択しそうすると If 文と同じ様にEnd Loop というのがセットになって挿入されます。この中に条件文を入れていきます。まず1つ目の条件が「過去に見積が 30 件以上あるか」ということですのでIf 文を入れここに計算式で「何件か?」ということでCount という関数を使いここで商品管理から見た見積明細の先の見積もり情報これの ID を Count すれば良いでしょう。 これが 30 よりも= (大なりイコール)ということになります。これで If 文の条件が出来ました。さらに、もう1つ条件を見たいわけです。「写真が登録されているか」また続けて If の中にさらに If の入れ子になりますがIf 文を入れました。End If とセットになって2行挿入されましたがここで not IsEmpty という書き方をします。「写真の画像が空っぽである」のnot は「逆」です。ですので「写真の画像が入っていれば」という条件を作ったことになります。ここで、はじめてエクスポートをしたいわけですがここに書き込み先パスの完全パス付のファイル名を指定しておく必要があります。そのため「変数を設定」というのをまず、ここで用意します。ここで $ の...ローカル変数で、まだ大丈夫です。...「ファイル名」どの様な名前になるかというと既に「$ エクスポート先」という変数名で取得してありますのでこれをパスとして使います。これに対して「&」でつなげていきます。この先は「商品管理 :: 商品番号」それから 「_(アンダーバー)」さらに続けて「商品管理 :: 商品名」そして、ここではファイルタイプは全て JPEG だと分かり切っていますので拡張子として.jpg という風に設定します。 これで完全パスのファイル名が出来ました。この先を使ってフィールド内容のエクスポートというステップを使って画像を描き出すわけです。「フィールド」の中に「フィールド内容のエクスポート」これをダブルクリックして挿入します。「どのターゲットフィールドを?」ということですので「商品画像」です。これを選択し出力のファイルパスとして「$ ファイル名」これ1つを設定することができます。これで書き出し先は OK です。基本、これで出来上がったことになりますが上のコメントが最適化するように少し入れていきましょう。過去に見積が 30 件以上あるかを見ているのはここです。それから、写真が登録されているかを見ているのはここです。レコードごとにパスを設定するのはここです。これで、全体の流れがとてもよく分かるようになりました。ただ、肝心なことがあります。Loop をすると言うことは一番最後に「どの様に次のレコードに行くのか」といった指示が必要です。ここで、もしこの条件文をひと通りクリアしてLoop の、この辺りEnd Loop の直前に「レコードを移動する」というステップが必要です。ここが「次の」というのがあります。 さらに、このレコードへ移動ステップの便利なところはここに「最後まで来たら終了」のオプションがあるのでこれをチェックします。これで動きを確認することができます。これで、今、実は 02 を育てて保存をしました。この 02 の方も英名をチェック入れて「スクリプト」メニューから選べるようにしました。こちらを選んでチェックをしてみます。はい、イメージが一気に書き出されたようです。これで今回の目的は基本、成功したはずです。これらが目的のイメージの図ということです。ところが、書き出してみてこの様にデスクトップにバラバラになるのが嫌だと思う方が多いのではないでしょうか?私もそうなのですがその様な方のために04 というスクリプトステップを用意していますのでよろしければこちらの中を見てみて下さい。ディレクトリの取得ができます。この取得で特徴があるのは「フォルダの作成を許可」というオプションがあります。この様な処理を入れておくとユーザーが場所を選択して書き出すことができます。このレッスンではLoop というステップを使い先頭から順に全ての対象レコードに対して必要な処理を行う手法について説明しました。

FileMaker Pro 15 基本講座

FileMaker Proは特に開発の経験がなくてもアイデアをすぐに形にできます。このコースではFileMaker Proの基本操作はもちろん、データベースの仕組みからリレーションシップの作成や、コンテキストの概念などについて基礎から学習します。また美しいレイアウトの作成や操作性を向上させるためのさまざまなコツも紹介します。

9時間51分 (99 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
プラン加入者限定
発売日:2017年02月03日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。