2017-03-09 15 views
0

私は複数のエントリを同時に表示できる表形式に関連しているようです。MS Access 2016 VBA - テーブルフォームのVBAでTextBoxを変更します

別の列(B)から計算された1つの列(A)が必要ですが、(A)はまだ編集可能です。 ControlSourceを(A)に使用すると、基礎となるテキストボックスは編集不可能になります。同じことがクエリの使用にも当てはまります。どちらのオプションも良くありません。したがって、(B)の変更に基づいて(A)の内容を変更するVBAコードを使用したいと思います。逆に、ユーザーが(A)を変更すると、(B)が更新されます。 Btw。 (A)はデータベースに格納されず、(B)のみが格納されます。

問題は、(B)のイベント中にVBAを使用して(A)の値を更新すると、列全体(A)が同じ値を示し、表形式モードで行単位で計算されません。助け/助けを感謝します。ありがとう!

答えて

0

バインドされていないテキストボックスには、すべてのレコードに同じ値が表示されます。期間。

双方向データの依存関係は珍しいです。私はそれを一度しか見たことがないと思う。平方フィートを計算することに関与した。ユーザーが入力した長方形の寸法は、不規則な境界や切り欠きを考慮に入れて実際の映像を入力するかどうかを選択し、調整が計算されたか調整を入力し、実際のものが計算されました。ユーザは、編集可能なコントロールを指定するためにラジオボタンを選択しなければならなかった。これは、連続したレコード形式ではなく、単一のレコードであった。

+0

良い例。具体的には、私がここで作成したい実際の双方向データ依存性ではありません。たとえば、列Bがデータベースに格納されている値であり、常にフィートであるとします。ユーザーはAにのみBを入力することはできません。列AとBの次に、列または列のいずれかのデータベースに優先単位を格納する列Cを指定します。今度はすべての列の最初のレンダリングで、VBAがCの変換係数を使ってBからAへと計算されるようにします。データがBからAへ行く唯一の瞬間です。その後、ユーザーはAとその値を上書きできますB.表形式に変換されます。 –

+0

Aをデータベースに格納すると正常に機能しますが、正常にはなりません。私がControlSourceを使用する場合、それは最初の部分(BからAへ)で動作しますが、ユーザーは入力できません - 彼はできますか?私はそれを使用して、単一のレコードでは動作しますが、表形式ではありません。私は値がデータベースに直接格納されていない表形式のレコードを個別に編集可能な入力テキストボックスが必要です、それは派生物だけです。 –

+0

正規化とジョブの取得とのバランスをとる行為です。これが本当にしたい行動ならば、おそらくルールを曲げる必要があります。私はあなたがデータシート/連続フォームで動作するようになる唯一の方法は、A値を保存してバインドされたテキストボックスを疑う。 – June7