2009-06-09 93 views
1

我正在製作一個綁定到Access數據庫的InfoPath表單。我有一組單選按鈕,其中用戶選擇與表單相對應的軟件名稱,但我將它作爲數字(1,2或3)存儲在我的數據庫中。換一種說法,我希望他們能夠看到之前輸入的軟件名稱,但無法更改。下面是我想到的兩個選項:以infopath形式創建一個單選按鈕「只讀」?

  1. 創建一些規則,確實可以防止用戶更改這些數據

    這似乎是我想要做的自然的方法。

  2. 每個號碼添加一個文本字段的功能映射到相應的軟件

    由於表格是聯繫在一起的數據庫時,InfoPath希望所有字段被捆綁到一個數據庫值,這將需要創建另一個數據庫條目。我也無法找到可用於處理此映射的InfoPath函數。

  3. 將無線電框的變量更改爲文本值,並在新視圖中創建一個可以爲只讀的文本框。

    我真的不希望這樣做,因爲它會使其他程序使用這個數據庫值變得更加混亂,並且看起來很浪費,但如果沒有其他工作,這似乎是可行的。

是否有某種規則/方法可用於使此單選按鈕控件只讀?

回答

3

您可以使用條件格式來禁用任何控件(包括單選按鈕)。 要設置控制始終被禁止執行以下操作:

  1. 鼠標右鍵點擊你的控制和選擇條件格式...
  2. 點擊添加...
  3. 在最左邊的下拉列表選擇表達式
  4. 類型true()在文本字段中(這告訴InfoPath始終應用此格式)
  5. 檢查禁用此控件複選框。
  6. Click OK and OK

注意:您需要爲每個單選按鈕執行此操作。另外,爲了將來的參考:如果你只是想顯示一個函數的結果(比如在你的第二個解決方案中),你不需要使用文本框。您可以使用表達式框。表達式框不一定與數據源中的字段鏈接,因此數據庫中不需要額外的列。

+1

讀這個很晚,但爲什麼你需要在每個單選按鈕上做這個,而不是它們是子控件的選項組?如果父項選項組被禁用,則其所有子控件也被禁用。 – 2009-11-17 22:25:49