2016-05-02 22 views
0

データベースが特定のフォームに開かれたときに実行されるサブテーブルがあり、テーブルに情報を追加しようとしています。アクセステーブルに新しい行を追加

テーブル名はUnAuthorizedAccessで、テーブルの列はID(自動番号)、NAME(テキスト)、COMPUTERNAME(テキスト)、ATTEMPTDATE(日付/時刻)です。

このテーブルに新しいレコードを追加するにはどのようなコマンドを使用する必要がありますか?私はVBAを持っている、もし彼らがログイン情報を持っていれば、一緒に近くのアクセスを強制することはありません。私はそれらを蹴る前にユーザーの情報も収集しようとしています。

私はこれが最も簡単な方法だと思ったのは、見通しがあなたに最初に見えない限り、ユーザーから隠された電子メールを送ることができないからです。

+0

"これは、見通しがユーザーに最初に表示されない限り、ユーザーから隠された電子メールを送信することができないため、これが最も簡単な方法だと考えました。私が知る限り、この声明は完全に真実ではありません。私はかなり私のデータベース上で隠された電子メールをすべて実行すると確信しています。 – LiamH

答えて

3

次のコードでレコードセットにレコードを追加できますが、COMPUTERNAMEというフィールドがあるかどうかはわかりません。自動番号としてIDの値を追加する必要はありません。隠された電子メールを送信するよう

dim Rst as recordset  
Set Rst = CurrentDb.OpenRecordset(Name:="UnauthorizedAccess", Type:=RecordsetTypeEnum.dbOpenDynaset) 
     With Rst 
      .AddNew 
      ![NAME] = Me.Name.Value 
      ![COMPUTERNAME] = Me.COMPUTERNAME.Value 
      ![ATEMPTDATE] = date() 
      .Update 
     End With 

、私がいないので、ずっと前に尋ねsee this質問。それはOutlook経由で電子メールを送信しますが、VBAエディタでMicrosoft Outlook Object libraryを参照してください。

0

CurrentDB.Executeは、SQL文を実行する方法であり、INSERT INTOは、DB表にレコードを追加するSQL文です。

CurrentDB.Execute "INSERT INTO UnAuthorizedAccess (NAME, COMPUTERNAME, ATTEMPTDATE) " & _ 
"VALUES (" & Your_NAME_Variable & ", " & Your_COMPUTERNAME_Variable & ", " & Now() & ") 

これらの値を含む、あなたのコード内の変数でYour_NAME_VariableYour_COMPUTERNAME_Variableを交換してください。

+0

gmail経由でメールを送信するためのコードはこちら[こちら](http://stackoverflow.com/questions/11579730/ms-access-send-email-not-from-outlook-or-users-email?rq=1)または他のインターネットメールサービス、Yahooとして)。 – marlan