2014-02-05 26 views
0

在的FileMaker,如果FIELD1(日期字段)填充,我想FIELD2值是「a」,如果FIELD1是空的,我想FIELD2價值爲b使用if語句計算以定義字段的值。語法錯誤?

我試圖 在用於場2的選項,驗證通過計算,給出了計算,並且這個公式:

If (IsEmpty(field1),"valueb","valuea")  

,但我得到了以下錯誤: A number, text constant, field name or 「(」 is expected here.

兩個問題。

  1. will this way work?
  2. is my syntax wrong?

如果有人能指出什麼是錯的,我將非常感激。

+0

我沒有看到你的公式有什麼問題。嚴格地說,您應該使用分號';'來分隔參數而不是逗號',' - 但這可能取決於您的語言環境,並且在任何情況下,Filemaker都應該足夠聰明以便理解逗號。 –

+0

好,所以改變分號的逗號工作,非常感謝你!也不是通過計算驗證,而是自動輸入值... – user3274553

+0

爲什麼不使用*計算*字段?如果您計劃手動覆蓋該值,則自動輸入是合適的。或者需要驗證結果。另請注意,對於簡單的文本標籤,您可以使用有條件格式的*文本* - 不帶字段。 –

回答

0

你正在運行到的問題是,你試圖通過場的數據驗證選項,而不是它的自動進入選項寫入一個值的字段。

驗證計算將向用戶顯示錯誤消息,但除了將字段還原爲用戶預編輯值之外,不會寫入字段。

自動輸入選項將允許您將數據寫入該字段。如果這兩個字段在同一個表中,則在修改field1時,field2的自動輸入計算將會觸發。

這就是說,讓我們看看你正在努力完成什麼。

你想要什麼:field1不爲空,field2應持有的價值「一」。 當field1爲空時,field2應該保持值「b」。

自動進入計算field2應該是:

if (not IsEmpty(field1) ; "b" ; "a") 

如果這兩個領域在不同的表它改變的東西了一點,但好像這是你要的東西。

我希望這會有所幫助。