リンクユニット

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の単票フォームを開く方法については、帳票フォームから単票フォームを起動するにはで解説しています。

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

Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。画像は、Acess2010ですが、他のバージョンで ...

続きを見る

[単票]フォームの作成

クエリ[Q_売上_単票]を元に単票フォームを作成します。名前は[F_単票]とします。そして、フォームの[レコード移動時]イベントに
単票フォーム

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

下のように書き込みます。
   Set objNetWork = CreateObject("WScript.Network")
   Me.ユーザーアカウント = objNetWork.UserName

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

これで、単票フォームを開いたときにユーザー名が表示されるようになります。
[F_単票]の[ユーザーアカウント]はプロパティの[可視]を[いいえ]にして、見えないようにしています。

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

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

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

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

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

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

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

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

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

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

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

続きを見る

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

管理人一押しのテキストです。

おすすめ記事と広告

記事を更新しました

添付ファイル型のフィールド名変更

Access2007からデータ型に[添付ファイル]が登場しました。 データ型に添付ファイル この添付ファイル型のフィールド名はデザインビュー ...

2つのテーブルの差分を求める

Accessで2つのテーブルの不一致レコードを抽出する方法です。 下のように[テーブルA]と[テーブルB]があります。テーブルのオブジェクト ...

People Graph(Office用アプリ)

Office2013では、Office用アプリを挿入して使うことができます。[挿入]タブの[アプリ]グループを見ると、[People Gra ...

前にコピーしたものを貼りつけたい時はクリップボードを表示して活用

コピーは、直前のものしか貼り付けできないと思っていませんか? そんなことはありません。数回前にコピーしたものでも貼り付けすることができます。 ...

スライドショー実行時のショートカットメニューに「すべてのスライドを表示」

PowerPoint2013から、発表者ツールという機能が追加されたせいか、スライド実行時のショートカットメニューもPowerPoint20 ...

-Windows8 & Office2013 Access2013

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

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