Accessデータベースのセルを編集するたびに、他の列の対応するセルを更新するために使用できるAccessのプロパティはありますか。
実際、タイムスタンプの使用を考えている場合、タイムスタンプは挿入に対してのみ機能し、更新には機能しません。セルを編集するときは、編集された内容を追跡します。Accessでフォームを使用できません。また、Access2007はストアドプロシージャまたはトリガーをサポートしていません。
Accessデータベースのセルを編集するたびに、他の列の対応するセルを更新するために使用できるAccessのプロパティはありますか。
実際、タイムスタンプの使用を考えている場合、タイムスタンプは挿入に対してのみ機能し、更新には機能しません。セルを編集するときは、編集された内容を追跡します。Accessでフォームを使用できません。また、Access2007はストアドプロシージャまたはトリガーをサポートしていません。
いいえ、何も組み込まれていません。トリガーをサポートするデータベースエンジンから外部テーブルへのリンクテーブルを使用します。
それ以外の場合は、VBAを使用してFormsでこれを実装できます。
タイムスタンプの使用を考えています。これは挿入に対してのみ機能し、更新には機能しません...アクセス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;
同様の手順を記述してから、テーブルから更新権限を取り消すことができますINSERT
。DELETE
これにより、ユーザーは手順を介してデータを更新する必要があります。これにより、もちろんタイムスタンプが維持されます。
IIRCはNOW()
、データベースファイルがサーバーマシン上にある場合でも、現在のタイムスタンプの値はユーザーのローカルマシンから取得されますが、これはAccessの「喜び」の1つにすぎません。