Google検索

リンクユニット

Windows8 & Office2013 Access2013

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

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

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

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

ユーザー名を自動取得

テーブルの作成

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

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

T_manテーブル

売上テーブルの確認

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

テーブル

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

2つのテーブルは、ユーザーアカウントでリレーションシップを結んでいます。

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

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

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

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

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

クエリのデザインビュー

[帳票]フォームの作成

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

[編集]ボタンを追加します。

F_帳票フォーム

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

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

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

IDの抽出条件

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

帳票フォームから同じIDの単票フォームを起動するには

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

続きを見る

[単票]フォームの作成

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

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

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

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

単票フォーム

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連更新日時を自動表示して記録する方法は、レコードの更新日時を保存するの記事で解説しています。

レコードの更新日時を保存する

Accessで更新日時を保存したいということは多いですね。 テーブルに[更新日時]フィールドを追加 まず、テーブルに[更新日時]という[日付 ...

続きを見る

おすすめ記事と広告

推奨管理人一押しのテキストです。私もこれで学習しました。

-Windows8 & Office2013 Access2013

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

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