Forms 在infopath表单中创建单选按钮;只读;?

Forms 在infopath表单中创建单选按钮;只读;?,forms,ms-access,radio-button,infopath,Forms,Ms Access,Radio Button,Infopath,我正在制作一个绑定到Access数据库的InfoPath表单。我有一组单选按钮,用户在其中选择与表单对应的软件名,但我将其作为数字(1、2或3)存储在数据库中。在另一个视图中,我希望他们能够看到以前输入的软件名,但不能更改此名称。以下是我想到的两个选择: 创建一些规则,防止用户更改此数据 这似乎是我想做的事情的自然方法 添加一个文本字段,其中包含将每个数字映射到相应软件的函数 由于表单绑定到数据库,InfoPath希望所有字段都绑定到数据库值,这需要创建另一个数据库条目。我还无法找到可用于处理此

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

  • 创建一些规则,防止用户更改此数据

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

  • 添加一个文本字段,其中包含将每个数字映射到相应软件的函数

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

  • 将radio box的变量更改为文本值,并在新视图中创建一个文本框,该文本框可以设置为只读

    我真的不想这样做,因为这会让使用这个数据库值的其他程序变得更混乱,而且看起来很浪费,但如果没有其他方法可以工作,这似乎是可以做到的


  • 是否有某种规则/方法可用于将此单选按钮控件设置为只读?

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

  • 右键单击控件并选择条件格式…
  • 单击添加…
  • 在最左边的下拉列表中选择表达式
  • 在文本字段中键入true()(这会告诉InfoPath始终应用此格式)
  • 选中禁用此控件复选框
  • 单击确定确定
  • 注意:您需要为每个单选按钮执行此操作


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

    很晚才阅读此内容,但为什么您需要在每个单选按钮上执行此操作,而不需要链接到作为子控件的选项组?如果父选项组被禁用,则其所有子控件也将被禁用。