2016-05-02 2 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, но не забудьте указать Microsoft Outlook Object library в редакторе VBA.

0

CurrentDB.Execute - это метод выполнения операторов SQL, а INSERT INTO - это оператор SQL для добавления записей в таблицу БД.

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

Заменить Your_NAME_Variable и Your_COMPUTERNAME_Variable с переменными в вашем коде, содержащих эти значения.

+0

Пожалуйста, найдите [здесь] (http://stackoverflow.com/questions/11579730/ms-access-send-email-not-from-outlook-or-users-email?rq=1) код для отправки электронной почты через gmail (или других интернет-почтовых сервисов, как Yahoo). – marlan

Смежные вопросы