FM變數的設定與使用
變數是用來在記憶體中存放暫存的資料,提供彈性運用與運算的中繼資料,一旦結束程式它就即從記憶體中消失釋放。為了彈性應用它,可將這個變數設成區域或全域變數來存放一個指定值,「區域」與「全域」是指定變數在程式中的能見度。
語法:設定變數 [<變數名稱> {[<重複項目數>]}; 值:<值或公式>]選項
語法說明:
• [變數名稱] 變數名稱自訂。設為區域變數,名稱前加一個 $;設為全域變數,名稱前加兩個 $。若不加$,名稱的開頭會自動加入一個$。「$」為前置詞。
• [值] 可以是輸入文字或指定一個計算式。
• [重複項目] 是建立的變數的重複項目 (索引) 數。沒有指定則預設為 1。
到哪兒設定?
變數的設定只能在「編輯指令碼」中指定,亦即變數的指定值,用在指令碼中的傳遞與運算,以達成最終目的---欄位值的異動。
設定步驟:
1.【指令碼】/【管理指令碼】:點 新增 鈕或 點其中既有的指令碼後點 編輯 鈕
2.在「編輯指令碼」畫面左側之檢視窗中,找控制項,即可看見「設定變數」,將它快點兩下,就會產生到右邊編輯框中,再將它快點兩下,即可為進行變數的設定。諸如為之命名與指定值,指定值若不是常數,是某欄位值的相關運算,就點其旁之 指定 鈕進入做指定計算。
PS:輸入變數名稱若沒輸入$,會內定為區域變數,系統會自動在變數名稱前面加上$,要指定為全域變數,就直接在變數名稱前面加兩個$,或事後再加一個。
變數使用:
呼叫使用時,要連同變數名稱前的$符號一併寫出來,才是正確呼叫變數。
如區域變數:$變數名稱,全域變數:$$變數名稱
呼叫使用限制:
區域變數:
限於自己所在指令碼中使用,無法使用於其他指令碼,若由其他指令碼呼叫會取得的是空的,沒有作用,程式也不會出現錯誤訊息。變數在指令碼執行完畢,記憶體中的也清除。
全域變數:
除了可以在自己所在指令碼中使用,同時也可以供其他指令碼呼叫使用。變數直到程式結束,才會從記憶體中清除。
PS:區域變數和全域變數可以同名,因為有「$」一個兩個的區別,系統會視為兩個不同變數,分別儲存不同值。
呼叫變數其值之變化:
直接指定的值,直接呼叫可看到它的值,若是參與運算後的全域變數,沒有經過呼叫運算而直接呼叫使用,它會是個空值。
命名原則:
變數名稱與欄位名稱在整個程式中必須是唯一的,命名最長可達100個字元。命名原則如下:
• 名稱中不得含有以下的符號和文字:
, (逗號)、+、-、*、/、^、&、=、≠、>、<、( )、[ ]、{ }、"、; (分號)、:(冒號), ::(關係指示符), $ (變數指示符)
AND、OR、NOT、XOR、TRUE、FALSE,或者任何 FileMaker Pro 函數的名稱
• 不要以空格、句點 (.) 或數值作為欄位名稱的開頭。
• 使用 _ (底線) 代替空格,以避免 ODBC、匯出、Web 發佈及其他操作中的限制。
• 如果與其他應用程式交換資料,應檢查該應用程式所支援檔案格式中的欄位命名限制。
• 如果使用 ODBC 或 JDBC 來共用 FileMaker Pro 資料,要避免在欄位名稱中使用 SQL 關鍵字。
範例
設定一個區域變數。
設定變數 [$傭金; 值:.05]
設定一個全域變數。
設定變數 [$$傭金; 值:.1]
設定一個具有指定重複項目數的全域變數。
設定變數 [$$獎金[2]; 值:3 * 4]

