filemaker

GetFieldValuesの落とし穴

参考 http://d.hatena.ne.jp/Kei0114/20150420/1429523647 http://www.fmpro.jp/fmi/xsl/plugin/cf.xsl?ID=0063 http://filemaker-jp.custhelp.com/app/answers/detail/a_id/9042/~/filemaker-pro-11-%E3%81%A8-filemaker-pro-11-advanced-%E3%81%AE%E6%8A%8…

登録日が14日以内のレコードを検索

Timestamp(Get(日付);Get(時刻)) - 14*24*60*60

0埋め

数値のアタマを「0」で埋める Right ("00000000" & 番号; 8) http://okwave.jp/qa/q3215103.html Right ("00000000" & div(親商品::商品番号;10000); 8) & Right ("00000000" & mod(親商品::商品番号;10000); 8) & ".html"

一覧から別ウインドウで詳細画面を出したい

fp7ファイルを2つに分ける必要がある メインに情報をためこみ、サブ(詳細画面は)それを呼び出すだけの設計がよさげ

日付時刻から6+6桁の文字列yymmdd_hhmmssを作る

Right ( Year( get( 日付 ) ) ; 2) & Right ( "0" & Month( get( 日付 ) ) ; 2) & Right ( "0" & Day( get( 日付 ) ) ; 2) & "_" & Right ( "0" & Hour( get( 時刻 ) ) ; 2) & Right ( "0" & Minute( get( 時刻 ) ) ; 2) & Right ( "0" & Seconds( get( 時刻…

日本語入力が効かなくなったら

filemakerで日本語入力が効かなくなったら、Alt+漢字でIME切り替えしてみると治ることがある

先頭に0を付けた数字をつくる

Right("0000" & 変数 ; 4) 変数が5→00005→0005 変数が77→000077→0077 変数が100→0000100→0100 変数が2222→00002222→2222

検索結果の件数はget( 対象レコード数 )で取得する

重複チェック

日に0をつけたいときは

Right("0" & Day(発送日);2)

htmlファイル出力

htmlファイル出力したものがブラウザから見ると崩れる現象が報告された winで見ると改行位置にへんなコントロールコードが混入され長い一行で出力されてる macではちゃんと改行されてるから気づかなかった これは垂直タブというものでした 参考 FM8.5でフィ…

まぎらわしい「全レコード」

全レコードを選択するのは「全レコードを表示」 「全レコード/検索条件コピー」ではない

イベントを送信(windows)

イベントを送信はコマンドラインと同じらしい フルパスを書くときは"で囲う その中で"を書くときは\"とする "\"C:\Documents and Settings\name\My Documents\ProgramFiles\url2bmp\url2bmp.exe\" -url http://www.yahoo.co.jp -format jpeg -notinteractive…

テキストファイルとして出力する

tab区切りのエクスポートで1レコード1フィールドの出力することで任意のディレクトリ・ファイルにテキストを出力できる csvだと文字列が""に囲まれるから不適

変数で検索するときのバージョン違い注意点2

現象は前と同じく10で動かない イマイチ原因がわからない 対処は検索実行前にフィールド設定で検索条件を書く

「フィールド設定」と「計算結果を挿入」の違い

フィールド設定 レイアウトに依存しない 直接的なデータ操作 計算結果を挿入 レイアウトに表示されているフィールドに対して 上書きだけでなく追記もできる 手順を踏んだ画面上のデータ操作

変数で検索するときのバージョン違い注意点

11では動くけど10でエラーする 一行追記するだけで両対応

全チェックボタン

対象レコードに対してチェックボックスを入れる/外すボタン 選択してるレコードのチェック状態を$selected_targetに保存 レコード番号を変数に保存 対象レコードに対してループで回して$selected_targetの逆をセット 元のレコード番号の位置に戻す

エラー処理オン

エラー処理オンにすると、filemakerが発する警告が表示されなくなる スクリプトが途中で止まったみたいになるのを防ぐ この場合エラー処理オンを書かないと、検索結果が0件の時、警告が出てスクリプトが一時停止しちゃう

アプリケーションバージョンを返すカスタム関数

アプリケーションバージョンを返すカスタム関数 getVersion() = GetAsNumber ( Left ( RightWords ( Get ( アプリケーションバージョン ) ; 1 ) ; Position ( RightWords ( Get ( アプリケーションバージョン ) ; 1 ) ; "." ; 1 ; 1 ) -1 ) ) 加工前はこんな…

アプリケーションバージョンだけを返すように加工した関数

Left ( RightWords ( Get ( アプリケーションバージョン ) ; 1 ) ; Position ( RightWords ( Get ( アプリケーションバージョン ) ; 1 ) ; "." ; 1 ; 1 ) -1 ) 加工前はこんな文字列ProAdvanced 9.0v1

ポータル行番号をふるスクリプト

FM11からは関数名がGet(アクティブポータル行番号)になった スクリプトのコピーはファイルメーカー書類を複数開いてスクリプトの管理でまるごとコピーできる コピー先ではフィールドの再設定が必要かも ちょっと特殊で最後の行-1で止めてる それを対象レコー…

エクスポート&インポートを使ってレコードを一部変更して複製する

エクスポートはxmlでやるとフィールド名付きで出力されるらしい インポートを照合順にすると間違いなくフィールド一致できるのでよい

レコードを別テーブルにコピーしたい

エクスポート&インポートを使うのがよさげ tmpファイルはfile:tmp.tabとでもしておけばfilemaker書類と同ディレクトリに作られる その掃除はappleスクリプトでも使わないとできないだろう loopでやろうとして詰んだ

JANコードのチェックデジットを計算するスクリプト

変数を設定$digit = 10 - Mod( ( Mod ( 商品::デジット計算用 ; 10 ) + Div( Mod( 商品::デジット計算用 ; 1000 ) ; 100 ) + Div( Mod( 商品::デジット計算用 ; 100000 ) ; 10000 ) + Div( Mod( 商品::デジット計算用 ; 10000000 ) ; 1000000 ) + Div( Mod( …