- ベストアンサー
Access テーブル 入力の省力化についてです。
まったくの初心者で簡単な以下のことが解かりません。例えば 実績テーブルの中の予算のフィールドと実績のフィールドがあって、予算に金額を入力すれば自動的に実績にも同金額が入力されるようにするには どこで、どのように設定すればよいか解りません。 テーブルで? クェーリで? フォームで?
- みんなの回答 (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()を使っても書けます。 なお、フォームは次のようです。
お礼
すばやい、かつ非常に丁寧な回答におどろきと感謝で一杯です。感激しています。ありがとうございました。
補足
VBAを使わないとダメですか? 正直びっくりしました。 Excelでは =A だけですが。 VBAを使わない簡単な方法はないのでしょうか?