1

我正在制作一个与 Access 数据库绑定的 InfoPath 表单。我有一组单选按钮,用户可以在其中选择与表单对应的软件名称,但我将其作为数字(1、2 或 3)存储在我的数据库中。在另一个视图中,我希望他们能够看到之前输入的软件名称,但不能更改它。这是我想到的两个选项:

  1. 创建一些阻止用户更改此数据的规则

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

  2. 添加一个带有函数的文本字段,将每个数字映射到相应的软件

    由于表单与数据库相关联,InfoPath 希望所有字段都与数据库值相关联,这需要创建另一个数据库条目。我也无法找到可用于处理此映射的 InfoPath 函数。

  3. 将单选框的变量更改为文本值,并在新视图中创建一个文本框,可以将其设置为只读。

    我真的不想这样做,因为它会使使用此数据库值的其他程序变得更加混乱并且看起来很浪费,但如果没有其他方法,这似乎是可行的。

是否有某种规则/方法我可以用来使这个单选按钮控件只读?

4

1 回答 1

3

您可以使用条件格式来禁用任何控件(包括单选按钮)。要将控件设置为始终禁用,请执行以下操作:

  1. 右键单击您的控件并选择条件格式...
  2. 单击添加...
  3. 在最左边的下拉列表中选择表达式
  4. 在文本字段中键入true()(这告诉 InfoPath 始终应用此格式)
  5. 选中禁用此控件复选框。
  6. 单击确定确定

注意:您需要为每个单选按钮执行此操作。

此外,供将来参考:如果您只是想显示函数的结果(例如在您的第二个解决方案中),则不需要使用文本框。您可以使用表达式框。表达式框不一定要链接到数据源中的字段,因此您不需要在数据库中为其添加额外的列。

于 2009-06-16T23:53:26.367 回答