• ベストアンサー

Access テーブル 入力の省力化についてです。

まったくの初心者で簡単な以下のことが解かりません。例えば 実績テーブルの中の予算のフィールドと実績のフィールドがあって、予算に金額を入力すれば自動的に実績にも同金額が入力されるようにするには どこで、どのように設定すればよいか解りません。 テーブルで? クェーリで? フォームで?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Q、データ入力の省力化。 A、フォームで。 普通は、テーブルはデータベースが管理します。 そのデータベースへのデータの入力、変更、削除はアプリケーション(フォーム)の役目。 >予算に金額を入力すれば自動的に実績にも同金額が入力・・・ さて、この件でもう少し仕様を検討すれば (1)実績が未入力であれば予算額を反映する。 (2)実績を消した場合は、予算額を反映する。 と言う事になるかも知れません。 この時のフォーム[実績]のVBAコードは次のようです。 Option Compare Database Option Explicit Private Sub 実績_AfterUpdate()   If Len(Me.実績 & "") = 0 Then     Me.実績 = Me.予算   End If End Sub Private Sub 予算_AfterUpdate()   If Len(Me.予算 & "") > 0 Then     If Len(Me.実績 & "") = 0 Then       Me.実績 = Me.予算     End If   End If End Sub VBAコードの書き方は一通りではありません。 Private Sub 実績_AfterUpdate()   If IsNull(Me.実績) Then     Me.実績 = Me.予算   End If End Sub と、Len()ではなくIsNull()を使っても書けます。 なお、フォームは次のようです。

nonnbee
質問者

お礼

すばやい、かつ非常に丁寧な回答におどろきと感謝で一杯です。感激しています。ありがとうございました。

nonnbee
質問者

補足

VBAを使わないとダメですか? 正直びっくりしました。 Excelでは =A だけですが。 VBAを使わない簡単な方法はないのでしょうか?

関連するQ&A