1

一部のデータを Excel から Access にインポートしました。今度は、Excel から新しいデータを取得するたびに別のテーブルを更新するトリガーに似たコードを書きたいと思います。

Access でトリガーを記述できないことがわかっているため、データ マクロを使用しようとしています。データ マクロを使用してこれを行う方法について誰か助けてもらえますか?

4

1 に答える 1

5

[Events] という名前のテーブルがあり、Excel からデータをインポートしてテーブルに追加するとします。

ID  EventName              EventType           EventDate 
--  ---------------------  ------------------  ----------
 1  New Staff Orientation  Training: in-house  2013-06-07
 2  TGIF barbecue lunch    Social              2013-06-14

イベントに割り当てることができるカテゴリを追跡する [EventTypes] という名前のテーブルもあるとします。Excel データからの [EventType] 値は、不必要な重複、タイプミスなどを避けるために承認する必要があります。[EventTypes] テーブルは次のようになります。

EventType           Added                Approved
------------------  -------------------  -------------------
Training: in-house  2013-06-01 09:15:33  2013-06-01 09:37:16
Social              2013-06-07 10:01:23  2013-06-07 10:22:00

[Events] テーブルに「After Insert」データ マクロを作成して、新しい [EventType] 値を [EventTypes] テーブルに次のように挿入できます。

    SetLocalVar
            Name NotFound
            式 = True

    Condition =[EventTypes].[EventType]=[Events].[EventType] である EventTypesのレコードを検索します。
            

        SetLocalVar
                Name NotFound
                式 = False

    If   [NotFound]  なら

        EventTypes でレコードを作成する

            SetField
                    Name EventTypes.EventType
                    値 = [Events].[EventType]

            SetField
                    Name EventTypes.Added
                    Value = Now()

    終了条件

ここで、新しい EventType でイベントをインポートすると...

ID  EventName              EventType           EventDate 
--  ---------------------  ------------------  ----------
 1  New Staff Orientation  Training: in-house  2013-06-07
 2  TGIF barbecue lunch    Social              2013-06-14
 3  Bathtub races          Team Building       2013-06-15

...データ マクロは自動的にそれを EventTypes テーブルに追加します

EventType           Added                Approved
------------------  -------------------  -------------------
Training: in-house  2013-06-01 09:15:33  2013-06-01 09:37:16
Social              2013-06-07 10:01:23  2013-06-07 10:22:00
Team Building       2013-06-11 08:38:37          
于 2013-06-11T13:13:43.833 に答える