1

現在Windowsにログインしているユーザーのユーザー名を取得するためのきちんとしたコードを見つけました(実際にはここを介して)。

というテーブルがあるとしAdminEntryます。テーブルをフォームのレコードソースとして設定することを検討しているAdminEntryので、ユーザーはフォームを介してそのテーブルにデータを入力します。彼らが作成してデータ入力を完了したレコードには、そのレコードにユーザー名がスタンプされるため、何が誰のものかを追跡できます。

そのユーザー名文字列をテーブルにプッシュする方法、または最善の方法がわかりません。

おそらく、AdminEntryテーブルに次のフィールドがあるとします。

| UserName | Field1 | Field2 |
|          |        |        |

ユーザーはフォームを使用して と のデータ入力を行うことができField1ますField2:

| UserName | Field1 | Field2 |
|          |  data  |  data  |

そして、 [保存] ボタンのイベントは、テーブルUserNameに完全なレコードを保存する前に、ユーザー名文字列をフィールドにプルする可能性があります。AdminEntry

| UserName | Field1 | Field2 |
|   data   |  data  |  data  |

ただし、そのユーザー名文字列を取得する方法がわからないので、ヘルプ/ポインターが大好きです!

4

1 に答える 1

2

テキスト ボックス をフォームに追加txtUserNameし、フィールドにバインドしUserNameます。テキスト ボックスの.Visibleプロパティを に設定できますNo

fOSUserName()次に、その関数の値をtxtUserNameフォームの before update イベントに割り当てます。Note before update はフォームの挿入と連動して発生するため、このアプローチでは、新しいレコードを追加するときと既存のレコードを変更するときの両方で現在のユーザー名が保存されます。

Private Sub Form_BeforeUpdate(Cancel As Integer)
    ' Me.txtUserName = CreateObject("WScript.Network").UserName
    Me.txtUserName = fOSUserName
End Sub
于 2013-04-19T13:18:11.117 に答える