0

Accessデータベースのセルを編集するたびに、他の列の対応するセルを更新するために使用できるAccessのプロパティはありますか。

実際、タイムスタンプの使用を考えている場合、タイムスタンプは挿入に対してのみ機能し、更新には機能しません。セルを編集するときは、編集された内容を追跡します。Accessでフォームを使用できません。また、Access2007はストアドプロシージャまたはトリガーをサポートしていません。

4

2 に答える 2

2

いいえ、何も組み込まれていません。トリガーをサポートするデータベースエンジンから外部テーブルへのリンクテーブルを使用します。

それ以外の場合は、VBAを使用してFormsでこれを実装できます。

于 2012-04-18T06:52:51.787 に答える
2

タイムスタンプの使用を考えています。これは挿入に対してのみ機能し、更新には機能しません...アクセス2007はストアドプロシージャまたはトリガーをサポートしていません

実際、Access 2007はCREATE PROCEDURE手続き型コード自体をサポートしていますが、サポートしていません。AccessPROCEDUREは、単一のAccessSQLステートメントで構成されます。

あなたはこれらの線に沿って何かをすることができます:

CREATE PROCEDURE UpdateMyStuff
(
 arg_stuff_ID CHAR(10), 
 arg_stuff_name VARCHAR(20) = NULL, 
 arg_stuff_color_code INTEGER = NULL
)
UPDATE MyStuff
   SET stuff_name 
          = IIF( arg_stuff_name IS NULL, stuff_name, arg_stuff_name ),
       stuff_color_code 
          = IIF( arg_stuff_color_code IS NULL, stuff_color_code, arg_stuff_color_code ),   
       stuff_updated_date = NOW()
 WHERE stuff_ID = arg_stuff_ID;

同様の手順を記述してから、テーブルから更新権限を取り消すことができますINSERTDELETEこれにより、ユーザーは手順を介してデータを更新する必要があります。これにより、もちろんタイムスタンプが維持されます。

IIRCはNOW()、データベースファイルがサーバーマシン上にある場合でも、現在のタイムスタンプの値はユーザーのローカルマシンから取得されますが、これはAccessの「喜び」の1つにすぎません。

于 2012-04-18T07:39:46.230 に答える