2020年6月2日火曜日

ExecuteSQL CASE 使用例|FileMaker

ExecuteSQL CASE 使用例|FileMaker


ExecuteSQL (
"
SELECT 
'$$TYPE[$n]=\"見積明細\"'

, '$$内容[$n]=\"'||M.\"品名・内容\"||
CASE
    WHEN M.\"Model\" IS NULL AND M.\"manufacturer\"  IS NULL THEN ''
    ELSE '¶'
END
||M.\"Model\"||
CASE
    WHEN M.\"manufacturer\"  IS NULL THEN ''
    ELSE '('||M.\"manufacturer\"||')'
END
||'\"'
, '$$数量[$n]=\"'||M.\"数量\"||'\"'
, '$$単位[$n]=\"'||M.\"単位\"||'\"'
, '$$単価[$n]=\"'||M.\"単価\"||'\"'
, '$$金額[$n]=\"'||M.\"金額\"||'\"'
, '$$課税区分[$n]=\"'||M.\"課税区分\"||'\"'
, '$_=\"'||M.\"order\"||'\"'  as \"order\" 
FROM  \"見積明細\" M
WHERE
M.\"_kf_見積\" = 'F30CFBCE-9C66-4041-8348-BA89D1E7D91A'
AND M.Label IS NULL  ORDER BY M.\"order\"

"
; ""; "")

2020年5月6日水曜日

FileMaker 標準機能で Google Calendar 追加・編集・削除(2)

FileMaker 標準機能で Google Calendar 追加・編集・削除
Googleカレンダーからイベントを取得
参加者を追加
Google Calendar API v3

動作検証
Windows 10
FileMaker 16,17,18

Mac OS 10.13.3
FileMaker Pro 18

iOS13
FileMaker Go 18

有料サンプル ご支援頂ける場合、ご購入頂けると幸いです。 https://fm-aid.stores.jp/items/5e037b41d790db3198885824 Q&A 不明な点は以下で問い合わせ下さい。 https://fm-aid.com/community/viewforum.php?id=6


以下を参照し、「Google API プロジェクトの作成」「AccessTokenの取得」を行ってください。
https://qbxxdp.blogspot.com/2019/12/filemaker-google-calendar.html


Example02_Calendar.fmp12を開く
右上の[Setting]をクリック

「GoogleCalendarFM_Lib_AppPermission_id」
GoogleCalendarFM_Lib.fmp12 で作成した Application Permission のidを選択
「Title」カレンダーのタイトルを設定(任意)
「calendar_id」Googleカレンダーのidを設定

レイアウト:dtl_Events に戻り、
「FMid_Calendars」に[Setting]で作成した Calendars id を設定

フィールド:summary=TEST
フィールド:start.dateTime=2020/05/06 13:00
フィールド:end.dateTime=2020/05/06 14:00
[Insert]ボタンでGoogleカレンダーへ追加されます。


Googleカレンダーからイベントを取得

赤枠ボタンをクリックで指定期間内・最終変更時刻 以降のGoogleカレンダーのイベントを取得できます。


参加者を設定
カレンダーを変更

2020年4月30日木曜日

FileMaker URLクエリパラメータを作成

FileMaker



こんな感じのURLクエリパラメータを作成

?timeMin=2020-04-01T00:00:00%2B09:00&timeMax=2020-04-01T23:59:59%2B09:00&updatedMin=2020-04-01T00:00:00%2B09:00



「関数:List ( )」で改行区切りのリストを作成し、

先頭に「?」を追加、

改行を「&」に置換。



Let([
¢OptionalQueryParameters=
List ( 
If ( not IsEmpty ( $timeMin ) ; "timeMin=" & GetAsURLEncoded ( $timeMin ) );
If ( not IsEmpty ( $timeMax ) ; "timeMax=" & GetAsURLEncoded ( $timeMax ) );
If ( not IsEmpty ( $updatedMin ) ; "updatedMin=" & GetAsURLEncoded ( $updatedMin ) )
)
];
"?" & Substitute ( ¢OptionalQueryParameters ; ¶ ; "&" )
)