初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 Re: 初心者のFileMaker pro Q&A ≫ 日付フィールドを別テーブルへ『年』と『月』『日』で取り出し方法について ≫ 昨日 16:45:21

あ、忘れてた。
別スレッドで質問されていた「決算期を求める式」をカスタム関数として組み込んでみました(^O^)。

管理の「カスタム関数...」から確認してみてください。
Shinさんの回答をそのまま埋め込んで、日付1から決算期を返すようになっています。

#2 Re: 初心者のFileMaker pro Q&A ≫ 日付フィールドを別テーブルへ『年』と『月』『日』で取り出し方法について ≫ 昨日 16:35:52

余談ですが、電話番号なら3つではなく11の繰り返しフィールド、郵便番号なら2つではなく7の繰り返しフィールドにしておき、
各フィールドには1文字ずつ分割して保存しておく、というのも手かと思います。

このフィールドは、例えばハガキ、封筒、宅配便の宛名ラベルなど、それぞれのフォーマットに合わせて相手の郵便番号や電話番号を
配置したいとき意外に便利なのです。
この手のレイアウトは、印字位置の調整が面倒なのですが、上限値〜下限値の機能を使うと、郵便番号等を2つに分割したり、
場合によっては1文字ずつに分割して配置することもできます。

#3 Re: 初心者のFileMaker pro Q&A ≫ 日付フィールドを別テーブルへ『年』と『月』『日』で取り出し方法について ≫ 昨日 16:11:20

さすがに日付のように、書式設定では切り抜けられませんね。
何らかの計算が必要です。

最初のサンプルに電話番号、郵便番号を分割する機能を追加してみました。
https://www.dropbox.com/s/t5l38zgxanjnm … fmp12?dl=0

電話番号には3つの繰り返し計算式フィールドを設け、-()の3種類の文字を改行に置き換え(値一覧)、
GetValue関数で1〜3に取得しています。

090-1234-5678 ならば

まず、
090
1234
5678
に変形し、それをさらに

090 | 1234 | 5678
と繰り返しフィールドに入れるのです。
郵便番号もやり方は全く同じです。
関数の詳細は、Substitute関数やGetValue関数のヘルプを参照してください。
(もしハイフンなどで区切られていないのであれば、書かれているとおり、LeftやMiddleなどの関数で分割すればよいでしょう。
また、必ずしも計算フィールドではなく、スクリプトで分割する方法でも良いと思います。)

繰り返しフィールドや、繰り返し計算式フィールドは、インスペクタで表示の向きと表示範囲を指定することができます。
例えば5つの繰り返しが定義されている場合、下限値2、上限値4とすれば、中間の2〜4番目のセルだけを表示することができます。
印刷用レイアウトを作成する場合などに便利です。

#4 Re: 初心者のFileMaker pro Q&A ≫ 決算期の表示について ≫ 昨日 09:06:17

FM18をお使いでしたら、こういう式はカスタム関数としてライブラリ化しておくと、テーブルの計算フィールドでもスクリプトでも使い回せるので便利です。

#5 Re: 初心者のFileMaker pro Q&A ≫ 日付フィールドを別テーブルへ『年』と『月』『日』で取り出し方法について ≫ 2019-10-12 19:39:51

肝心なことに回答していませんでした。
日付を年、月、日に分割して既存のレイアウトに配置したいという場合、必ずしも関数を用いる必要はありません。
同じ日付を3つ配置して、それぞれ書式を年のみ、月のみ、日のみに指定すれば良いです。

というわけで、お節介なサンプルを作成したのでご参考に。

https://www.dropbox.com/s/xazoid8fz25pa … fmp12?dl=0
報告書Aの日付1が上記説明の実例になっています。

#6 Re: 初心者のFileMaker pro Q&A ≫ 日付フィールドを別テーブルへ『年』と『月』『日』で取り出し方法について ≫ 2019-10-12 18:30:24

そもそもなのですが、入力テーブルと表示テーブルとに分けないといけないでしょうか?
入力と表示を分けてしまうと、転記などの処理が必要になりませんか?

フィールド数が多く、各報告書ごとにテーブルを分けて管理したいのであれば

共通項目テーブル
┣○○報告書テーブル
┣△△報告書テーブル
┣◇◇報告書テーブル

という風に分けるのはいかがでしょう?

共通項目ID=各報告書IDでリレーションします。
日付など複数の報告書で用いられる共通項目は、共通項目テーブルで管理します。

○○報告書・△△報告書など報告書ごとにレイアウトを作成し、日付などは共通項目テーブルのフィールドを配置します。

#7 Re: 初心者のFileMaker pro Q&A ≫ 項目ごとの集計について ≫ 2019-10-11 16:55:48

https://www.dropbox.com/s/7jxjw5bwqmvsx … fmp12?dl=0

ごく簡単なサンプルです。
チポさんの説明のとおり、小計パートがソートと深く関連していることをまずご理解ください。
ソートを解除すると、小計パートは表示されなくなります(サンプルの「元データ」ボタンは、ソートを解除しています)。

Shinさんの説明のように、ボディを持たないレイアウトも作成可能です。
サンプルのレイアウト(「一覧_ボディなし」)をご覧ください。

#8 Re: 初心者のFileMaker pro Q&A ≫ 印刷について (日付指定) ≫ 2019-10-11 09:38:02

チポ さんの発言:

> フィールド設定[ 曜日;月...土]
これは日付フィールドが条件ですよね。

曜日を表示するのに、日付フィールドの表示設定でできます。
そうすればKoedaさんの方法が可能です。

チポさん、ご指摘ありがとうございますm(__)m
その通りです。
日付フィールドをそのまま使い、曜日だけを表示することを想定してました。

#9 Re: 初心者のFileMaker pro Q&A ≫ ポータル設定について ≫ 2019-10-11 00:44:34

というわけで、私なりに少し手を入れてみました。
ご参考までに。

https://www.dropbox.com/s/y24l0q16x6ozp … fmp12?dl=0

特に、確認用テーブルが0レコードでも動作している点に着目していただければ。
グローバルフィールドの性質をよく考えてみてください。

#10 Re: 初心者のFileMaker pro Q&A ≫ ポータル設定について ≫ 2019-10-10 18:49:24

ぱっと見の回答ですが…

1)テーブル「確認用」の2つのフィールド頭文字とJ種類はグローバルフィールドにすべきでは?
  現状ですと、このファイルを共有して複数人で使うと、検索条件が他のユーザに上書きされて思わぬ結果になります。

「確認用」テーブルの各フィールドは「頭文字/J種類」以外の検索条件も併せて管理し、複雑な検索を可能にする予定でしょうか?
そうであれば、各フィールドはグローバルフィールドにして、他のユーザから書き換えられないようにするのが定石です。

2)スクリプト「エクスポート」2行目の「新規レコード/検索条件」は不要では?
  exportボタンを押すたびに、確認用テーブルに処理に必要のない空白レコードが追加されているようです。
1)とも関連するのですが、「確認用」テーブルに1レコードも存在しないと、レイアウト上のポータルの
レコードがエクスポートできないようですので、そのための処理かもしれませんが…

3)種類でうまくソートできない件
Jテーブルの「種類」フィールド(計算フィールド)の計算結果のタイプは「数字」ではなく「テキスト」では?
しかし区分の数字が計算の元ネタなので、こっちでソートした方が楽ですね。

4)もし出力したいリストのフィールドやソート順が固定であれば、
エクスポート専用のレイアウトを作成しておき
「関連レコードへ移動」ステップでそのレイアウトに移動
J3::種類をキーにしてソート
レコードをエクスポート
という処理の流れにする、という処理も考えられます。
私はこのやり方がメンテしやすいような気がして好みです。

#11 Re: 初心者のFileMaker pro Q&A ≫ 印刷について (日付指定) ≫ 2019-10-10 18:13:23

レイアウトに日付をキーにした小計パートを作成し、「各出現の前で改ページ」にチェックを入れておきます
(記録が1日1レコードであれば小計パートは不要で、ボディに改ページの設定をすれば良いです)。

検索モードに切り替え
フィールド設定[日付;開始日...最終日]
フィールド設定[ 曜日;月...土]
検索実行
レコードのソート(日付で昇順)
印刷

ではいかがでしょう?
印刷用レイアウトが完成していれば、上記のような操作の流れで印刷できますよね?
それをスクリプトに移すだけです。

#12 Re: 初心者のFileMaker pro Q&A ≫ FilemakerServer用のMacmini買い替え予定。どちらがおススメでしょうか? ≫ 2019-10-10 09:49:14

メモリは注文時になるべく多く積んだ方が良いです。
現行モデルのmac mini 2018は、ユーザが後から手軽にメモリ増設を行うことができない構造になっています。

個人的には、予算配分の優先順位としては
メモリ→ストレージ→CPU
の順に考えています。
あとは用途と予算に合わせて、ですね。

#13 Re: 初心者のFileMaker pro Q&A ≫ データのFTP送信について ≫ 2019-10-10 09:15:12

お使いのサーバでパッシブモードでの転送が不可なのであれば、-Pオプションでアクティブモードでの転送を指定する必要があります。

curlオプションについては、FileMakerの上で試行錯誤するよりも、
まずコマンドプロンプトなどでcurlをいろんなオプションで試してみて、うまくいったらそれをFileMakerに移植する、
というやり方の方が早いですね。

#14 Re: 初心者のFileMaker pro Q&A ≫ データのFTP送信について ≫ 2019-10-09 10:45:12

作成したサンプルは、私の手元のテスト環境ではもちろんうまく動作しているのですが…

ちなみにFTPによる転送がうまくいっている場合、
229 Entering Extended Passive Mode
というヘッダが返ってきています。
pleskという環境はパッシブモードが使えないとか?

それ以前に、サンプルでは西郷どんさんのお使いの環境では接続すらできませんか?
1)接続すらできない
2)ログインができない
3)データ転送ができない

1)ですと、curl以前の問題かと

#15 Re: 初心者のFileMaker pro Q&A ≫ データのFTP送信について ≫ 2019-10-08 11:34:18

「URLから挿入」ステップのターゲットについて補足です。

ダウンロードの場合は、サーバから転送されてくるファイルの格納先としてターゲットを指定します。

いっぽう、アップロードの場合、サーバからレスポンスとして転送されてくるファイルは無いので、
ターゲットには何も戻りません。
(だから私のサンプルのようにターゲットを指定しても無意味ですね)

ダウンロード/アップロードともにレスポンスヘッダは返ってきます。
それはcurlオプションで指定した変数に格納されます。

#16 Re: 初心者のFileMaker pro Q&A ≫ FileMaker Server16 PHPからFMスクリプト実行について ≫ 2019-10-08 09:20:39

$result = $script->execute();

の後に

if (FileMaker::isError($result)) {
  echo "Error: " . $result->getMessage(). "<br>";
  exit;
}
を実行して、$resultの内容を表示させてみては?

#17 Re: 初心者のFileMaker pro Q&A ≫ データのFTP送信について ≫ 2019-10-08 08:11:12

サンプルを作成してみました。
qb_dpさんのアドバイスに従って、$$responseHeadersの値を結果欄に表示するようにしてみました。

https://www.dropbox.com/s/2p3tpfrn9chbc … fmp12?dl=0

#18 Re: 初心者のFileMaker pro Q&A ≫ データのFTP送信について ≫ 2019-10-07 18:03:58

西郷どん@初心者 さんの発言:

URLから挿入[選択;ダイアログあり:オフ;オブジェクトフィールド;$url;cURL オプション:$curl;URLを自動的にエンコードしない]

ターゲットに「オブジェクトフィールド」を指定しているようですが、
これはftpサーバーからの結果を受け取るフィールドまたは変数を指定するのでは?
(アップロードできない原因ではないと思いますが)

#19 Re: 初心者のFileMaker pro Q&A ≫ Windows・Macで使用するレイアウトのフォントについて ≫ 2019-10-07 10:59:14

おすすめではありませんが…

最近はWin10への切り替えが進みつつあるので、私はFileMakerでもWin10のシステムフォントである
「Yu Gothic UI」を表示用フォントに選択することが多いです。

ユーザの好み/指定によって「メイリオ」あるいは「Meiryo UI」に変更することもあります。
Yu Gothic UIは文字間隔が詰まって見えるため、人によってはカナや英数字(電話番号、日付、金額など)が、
読みづらく感じることがあるようです。
英数字の表示には別の欧文用フォントも候補に入れて検討した方が良いかもしれません。

開発用MacにはYu Gothic UIをMicrosoftのサイトからダウンロードしてインストールしています。
https://www.microsoft.com/ja-jp/downloa … x?id=49116

iPadは、Mac/Winとレイアウトを共用せず、全く別のレイアウトを作成しています。

#20 Re: 初心者のFileMaker pro Q&A ≫ レコードの引用方法について ≫ 2019-10-05 14:43:48

Shin さんの発言:

商品リストを伝票画面の中にポータルで表示しておき(別ウィンドウでも同じことですが)、その行のクリックで明細へ追加、という動きが自然なのでは。
商品リストも、フィルターを使って絞り込みできるようにしておくと、使いやすくなります。

Shinさんと同意見です。

ご質問のようなダイアログを作ることがありますが、ユーザにとっては、
複数アイテムを選択→アイテム数を確認してダイアログを閉じる→明細行で再度確認
だと、確認を2回行う必要があります。

別ウインドウは良いとしても、明細領域を隠すような表示は避けて、操作しながらその場で明細への
反映が確認できるようにすべきだと思います。

#21 Re: 初心者のFileMaker pro Q&A ≫ 1か月後の日付を出したい ≫ 2019-10-02 17:32:48

計算結果:
のタイプを「数字」→「日付」に変更します。

#22 Re: 初心者のFileMaker pro Q&A ≫ ポータルについて ≫ 2019-09-27 13:53:54

アプリケーションのつくりや目的が具体的に見えないので、うまくイメージできないのですが…

ポータルの中に参照元のフィールドを配置しているのであれば(移動用のポータル以外ではあまりやらないと思いますが)、
そのフィールドを編集してしまうので必ず更新されます。

参照元のデータを雛形として使いたいのであれば、
参照「先」のテーブルにフィールドを追加し、ルックアップなりで「1111」を初期値として入力するとか。

例えば商品マスタから定価を転記し、実際の販売価格で上書きできるようにする、とかで時々使う手ですね。

#23 Re: 初心者のFileMaker pro Q&A ≫ パスの分解と結合 ≫ 2019-09-27 12:55:13

FM Beginner さんの発言:

お手隙の際ご返信いただければ幸いです。

提示したサンプルの中でパスの分解と結合は実現しているはずなので、
サンプルの「元データ」をご自分で書き換えてみて、「Fld1」〜「Fld4」と「リスト」の内容が
お望み通りに変更されるか動作を確認してみてください。

もし希望どおりの動作でしたら、データベースの管理を開き、それぞれのフィールドの計算式で
Substitute()やList()などの関数をどのように使っているか検討してください。
#ついでにGetValue()関数も学んでください。

リスト化はあえてList関数を使い、Fld1〜Fld4の値をリスト化していますが、
チポさんの回答にあるとおり、Substitute関数を使って元データの">"を¶に置き換えても
もちろん同じ結果が得られます。

#24 Re: 初心者のFileMaker pro Q&A ≫ パスの分解と結合 ≫ 2019-09-27 10:26:04

①分解した後、どうしたいのでしょう?
1つのフィールドに入っている「パス」の文字列データを分解して、4つのフィールドに入れたい
ということでしょうか?

②それぞれのパスとは、4つのフィールドに分かれているということですか?

(追記)
という前提に立ったサンプルを作りました。
https://www.dropbox.com/s/su318eefg4zl3 … fmp12?dl=0

#25 Re: 初心者のFileMaker pro Q&A ≫ あるポータルから関連レコードを表示させることができない。 ≫ 2019-09-27 09:46:20

FMのバージョンは?

17以降であれば、そのようなポータルは簡単に作れるようになったのですが。
https://fmhelp.filemaker.com/help/17/fm … etail.html

それ以前ですと、少し工夫が必要ですね。例えば…

1)ポータル表示用にテーブルオカレンス(テーブルA3)を新規作成
2)テーブルA ID X ID テーブルA3のリレーションを設定
3)レイアウト上にテーブルA3のポータルを作成
4)ポータル行にボタンを設定し、関連レコードへ移動[ テーブル: テーブルA3 使用するレイアウト:<現在のレイアウト>]
でいけるのでは?

現状のA2のテーブルの使われ方やリレーションシップの定義変更の可否も分かりませんのでとりあえず…

Board footer

Powered by FluxBB