お知らせ

お知らせ NEWS

FileMaker小ネタ集①

2020年5月15日 /マージBLOG、システム開発
FileMakerを使用する時によく使う機能をまとめました。
皆様のお役に立てればと思います。

今回のテーブル設計

学生資料日誌日誌詳細
学生CD(数字)資料CD(数字)日誌CD(数字)誌詳細CD(数字)
学生名(テキスト)学生CD(数字)日付(日付)日誌CD(数字)
年齢(数字)資料(オブジェクト) 学生CD(数字)
学校名(テキスト)  日誌内容(テキスト)

同じフィールド名はリレーションを張っていると考えてください。

1.ファイル保存、プレビュー

メインテーブル:学生テーブル
ポータルのテーブル:資料テーブル(学生テーブルと学生CDで紐づいている)



① 保存ボタンのスクリプト
# エクスプローラーが開く
ファイルを挿入 [資料::資料]

② プレビューボタンのスクリプト
# 出力するためのURLを作成
変数を設定 [$url; 値: Let( [ $filename = GetContainerAttribute ( 資料::資料 ; “filename” ) ]; Get( テンポラリパス ) & filename )]
変数を設定 [$filepath; 値: Case ( Get( デバイス ) = 1 ; “filemac:” ; “filewin: “ ) & url]

# 保存したファイルをエクスポート
フィールド内容のエクスポート [資料::資料; 「$filepath」; 自動的に開く; ディレクトリの作成:オフ]


2.縦幅が可変する帳票

~入力画面~
メインテーブル:日誌テーブル
ポータルのテーブル:日誌詳細テーブル(日誌テーブルと日誌CDで紐づいている)



上図を帳票として印刷する場合は下図のレイアウトになります。


~出力画面~
日誌帳票
メインテーブル:日誌詳細
※表示はリスト形式にする

レイアウトモード


ポイント!!
・フィールドの縦幅を広くとる
・日付フィールドと日誌内容フィールドの縦幅は同じにする
・日付フィールドと日誌内容フィールドに下図の「上方へスライド」を指定する

ブラウズモード



プレビューモード


そうすることで上図のように、テキスト量に応じてフィールドの縦幅が可変します。


3.CSVインポート

メインテーブル:学生テーブル


① CSVインポートボタンのスクリプト
# インポート
エラー処理 [オン]
レコードのインポート [SSL 証明書の検証; ダイアログあり:オン]

# エラー処理
If [Get( 最終エラー ) > 0]
# 元のレイアウトに戻る
カスタムダイアログを表示 [“お知らせ”; “正常にインポートができませんでした。”]
End If


4.CSVエクスポート

② CSVエクスポートボタンのスクリプト
# デスクトップに出力するためのパスを作成
変数を設定 [$ファイル名; 値: “エクスポート_” & Substitute ( Get( 日付 ) ; “/” ; “” ) & “.xlsx”]
変数を設定 [$パス; 値: Get( デスクトップパス ) & $ファイル名]

# エクスポート
エラー処理 [オン]
レコードのエクスポート [ダイアログあり:オフ; ディレクトリの作成:オフ; 「$パス」; Unicode (UTF-16)]

# エラー処理
If [Get( 最終エラー ) = 0]
カスタムダイアログを表示 [“お知らせ”; “デスクトップ上に出力されました。” & “¶” & “出力ファイル : ” & $ファイル名]
Else
# 元のレイアウトに戻る
カスタムダイアログを表示 [“お知らせ”; “正常にエクスポートができませんでした。”]
End If

「レコードのエクスポート」スクリプトの「出力ファイルの設定」は下図になります。
新田(プログラマー)
Skill:PHP / Java / JavaScript / PostgreSQL  Like:絵を描くこと、ピアノ