1

Access データベースに関連付けられた InfoPath フォームを作成しています。ユーザーがフォームに対応するソフトウェア名を選択する一連のラジオ ボタンがありますが、これをデータベースに番号 (1、2、または 3) として保存します。別のビューで、以前に入力したソフトウェア名を表示できるようにしたいが、これを変更できないようにしたい。私が考えた2つのオプションは次のとおりです。

  1. ユーザーがこのデータを変更できないようにするルールを作成します

    これは、私がやりたいことに対する自然なアプローチのようです。

  2. 各数値を対応するソフトウェアにマッピングする関数を含むテキスト フィールドを追加します。

    フォームがデータベースに関連付けられているため、InfoPath はすべてのフィールドをデータベース値に関連付けたいと考えています。これには、別のデータベース エントリを作成する必要があります。また、このマッピングを処理するために使用できる InfoPath 関数を見つけるのにも苦労しています。

  3. ラジオ ボックスの変数をテキスト値に変更し、新しいビューでテキスト ボックスを作成します。これは読み取り専用にすることができます。

    このデータベース値を使用する他のプログラムにとって物事が面倒になり、無駄に思えるので、これをしないことを本当に望んでいますが、他に何も機能しない場合、これは実行可能に思えます。

このラジオボタンコントロールを読み取り専用にするために使用できるルール/方法はありますか?

4

1 に答える 1

3

条件付き書式を使用して、任意のコントロール (ラジオ ボタンを含む) を無効にすることができます。コントロールを常に無効にするには、次の手順を実行します。

  1. コントロールを右クリックし、[条件付き書式設定... ] を選択します。
  2. [追加... ] をクリックします。
  3. 一番左のドロップダウンで式を選択します
  4. テキスト フィールドにtrue()と入力します (これにより、InfoPath は常にこの書式設定を適用するようになります)。
  5. [このコントロールを無効にする]チェックボックスをオンにします。
  6. [ OK]および[ OK ] をクリックします。

注: これは、ラジオ ボタンごとに行う必要があります。

また、将来の参考のために: 関数の結果を表示するだけの場合 (2 番目のソリューションなど)、テキスト ボックスを使用する必要はありません。式ボックスを使用できます。式ボックスは必ずしもデータソースのフィールドにリンクされているわけではないため、データベースに列を追加する必要はありません。

于 2009-06-16T23:53:26.367 に答える