Windows 8 & Office 2013 Access 2013

ユーザーアカウントを取得して更新者を記録する

投稿日:2017年1月7日 更新日:

Accessでフォームを起動した時に自動でPCのユーザーアカウントを取得して、更新者を記録する方法です。

帳票フォームの[編集]ボタンをクリックして、単票フォームを表示したときにユーザーの名前が表示されるようにします。

ユーザー名を自動取得したフォーム

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

テーブルの作成

[T_man]テーブルを作成して、下のように[ユーザーアカウント]と[氏名]を入力します。

[ユーザーアカウント]が主キーです。

[T_man]テーブルの[ユーザーアカウント]

売上テーブルの確認

[T_売上]テーブルです。

[T_売上]テーブルのデータシートビュー

リレーションシップの確認

2つのテーブル[T_man]と[T_売上]は、フィールド[ユーザーアカウント]でリレーションシップを設定しています。

リレーションシップの設定

参考リレーションシップの作成と参照整合性については、以下の記事で解説しています。

リレーションシップの作成と参照整合性の設定

Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...

続きを見る

[帳票]フォームの元となるクエリの作成

帳票フォームのもとになるクエリを作成します。

[T_売上テーブル]のすべてのフィールドと、[T_man]テーブルの[氏名]を表示できるようにします。

[氏名]フィールドは、[更新者]となるよう[更新者:氏名]とします。

クエリ名は[Q_売上_帳票]です。

クエリ[Q_売上_帳票]のデザインビュー

[帳票]フォームの作成

クエリ[Q_売上_帳票]を基に帳票フォームを作成します。

[編集]ボタンを追加して、[編集]ボタンをクリックすると同じIDの単票フォームが開くように設定します。

[F_帳票]フォーム

[単票]フォームの元となるクエリの作成

クエリ[Q_売上_帳票]をコピーして、[Q_売上_単票]という名前にします。

今度は[ID]の抽出条件に [forms]![F_帳票]![ID] と入力します。

IDの抽出条件

参考帳票フォームから選択したIDの単票フォームを開く方法については、帳票フォームから単票フォームを起動するにはで解説しています。

帳票フォームのボタンをクリックして同じIDの単票フォームを起動する

Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。 横に長い情報より、1つのウィンドウで表示したいと ...

続きを見る

[単票]フォームの作成とレコード移動時のイベント

クエリ[Q_売上_単票]を基に単票フォームを作成します。

名前は[F_単票]とします。

[レコード移動時]イベントプロシージャ

そして、フォームの[レコード移動時]イベントに

[F_単票]フォームのプロパティ[レコード移動時]

下のように書き込みます。

Set objNetWork = CreateObject("WScript.Network")
Me.ユーザーアカウント = objNetWork.UserName

レコード移動時のイベントプロシージャ

これで、単票フォームを開いたときにユーザー名が表示されるようになります。

[F_単票]の[ユーザーアカウント]はプロパティの[可視]を[いいえ]にして、見えないようにしています。

フォームのテキストボックスを非表示にするには

帳票フォームと単票フォーム

[キャンセルして閉じる]ボタンを追加

何も編集せずに閉じても、更新者が保存されてしまいますので、[キャンセルして閉じる]ボタンを作成して、レコードを元に戻して閉じるようにします。

[キャンセルして閉じる]ボタン

[クリック時]のイベントプロシージャ

[キャンセルして閉じる]ボタンの[クリック時]のイベントプロシージャに、下のように書き込みます。

If Me.Dirty Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.Close

[キャンセルして閉じる]ボタンのクリック時のイベントプロシージャ

参考閉じる時のボタン設置については、以下の記事も参考になると思います。

編集フォームを閉じる時のボタンを設置(保存せずに閉じる処理も)

帳票フォームなどのレコード一覧から、同じレコードの詳細フォームを開いて編集することがあります。 この編集フォームを閉じる場合、編集した内容を ...

続きを見る

更新日時を自動表示して記録する方法は、以下の記事で解説しています。

レコードの最終更新日時を自動保存してフォームに表示

Accessで更新日時を保存したいということは多いですね。 レコードが更新された日時をテーブルに保存する方法です。 VBAコード、埋め込みマ ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 8 & Office 2013 Access 2013

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.