Windows8 & Office2013 Access2013

Print Friendly

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

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

Accessでフォームを起動した時に自動でPCのユーザーアカウントを取得して、更新者を記録する方法です。
帳票フォームの[編集]ボタンをクリックして、単票フォームを表示したときにユーザーの名前が表示されるようにします。
ユーザー名を自動取得
[T_man]テーブルを作成して、下のように[ユーザーアカウント]と[氏名]を入力します。
[ユーザーアカウント]が主キーです。
T_manテーブル
[T_売上]テーブルです。
テーブル

スポンサーリンク

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

帳票フォームの元になるクエリを作成します。[T_売上テーブル]のすべてのフィールドと、[T_man]テーブルの[氏名]を表示できるようにします。[氏名]フィールドは、[更新者]となるよう[更新者:氏名]とします。
クエリのデザインビュー
クエリ[Q_売上_帳票]を元に帳票フォームを作成します。[編集]ボタンを追加します。
F_帳票フォーム
クエリ[Q_売上_帳票]をコピーして、[Q_売上_単票]という名前にします。
今度は[ID]の抽出条件に[forms]![F_帳票]![ID]と入力します。
帳票フォームから選択したIDの単票フォームを開く方法については、帳票フォームから単票フォームを起動するにはで解説していますので、ご参照ください。
IDの抽出条件
クエリ[Q_売上_単票]を元に単票フォームを作成します。名前は[F_単票]とします。そして、フォームの[レコード移動時]イベントに
単票フォーム
下のように書き込みます。
   Set objNetWork = CreateObject("WScript.Network")
   Me.ユーザーアカウント = objNetWork.UserName
レコード移動時のイベントプロシージャ
これで、単票フォームを開いたときにユーザー名が表示されるようになります。
[F_単票]の[ユーザーアカウント]はプロパティの[可視]を[いいえ]にして、見えないようにしています。
フォームのテキストボックスを非表示にするには

帳票フォームと単票フォーム
何も編集せずに閉じても、更新者が保存されてしまいますので、[キャンセルして閉じる]ボタンを作成して、レコードを元に戻して閉じるようにします。
キャンセルして閉じるボタン
[キャンセルして閉じる]ボタンのクリック時のイベントプロシージャに、下のように書き込みます。
   If Me.Dirty Then
   DoCmd.RunCommand acCmdUndo
   End If
   DoCmd.Close
<br>[キャンセルして閉じる]ボタンのクリック時のイベントプロシージャ
更新日時を自動表示して記録する方法は
レコードの更新日時を保存する
の記事を参照されてください。

お勧め記事と広告

関連記事

シートからデータモデルへ追加

Excel2013には、POWERPIVOTというアドインが標準で組み込まれています。 POWERPIVOTタブを表示させよう このPOWE ...

右端と左端に文字を配置するには

Wordの文書を開くと、一行目にたくさんの空白スペースを見ることがあります。 もちろん[ホーム]タブの[編集記号の表示/非表示]ボタンをオン ...

Ctrl+Oでダイアログボックスを開くには

Office2013では、開くダイアログボックスを開くためのショートカットキー[Ctrl]+[O]キーを押すと、 [ファイルを開く]ダイアロ ...

コマンドまたはアクション'レコードの削除'は無効です

Access2013で、帳票フォームを作成し、レコードを削除できるように[削除]ボタンを作成しました。 ですが、[削除]ボタンをクリックする ...

100%積み上げグラフにパーセンテージを表示

Excelで100%積み上げ縦棒(横棒)グラフを作成したけど、データラベルにパーセンテージを表示できなくて困ったという経験がある方は多いと思 ...

-Windows8 & Office2013 Access2013

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

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