user2002716
user2002716

Reputation: 120

Access add new line to table

I have sub that runs when the database is opened to a specific form and I'm trying to get it to add information in a table.

The table name is UnAuthorizedAccess and the columns in table are ID(auto number), NAME(text), COMPUTERNAME(text), ATTEMPTDATE(date/time).

What commands do I need to use to add a new record to this table? I have a VBA that if they're login information Isn't there is will force close access all together. I'm trying to gather information on the user as well before kicking them out.

I figured this is the easiest way as outlook won't let you send a hidden email from the user unless they first see it.

Upvotes: 0

Views: 2813

Answers (2)

LiamH
LiamH

Reputation: 1502

You can add records to a recordset with the following code, but I am unsure whether you have a field called COMPUTERNAME. You shouldn't need to add the ID value as its an autonumber.

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

As for sending hidden emails, see this question I asked not so long ago. It sends an email via outlook, but remember to reference the Microsoft Outlook Object library in the VBA Editor.

Upvotes: 3

marlan
marlan

Reputation: 1485

CurrentDB.Execute is the method for executing SQL statements, and INSERT INTO is the SQL statement for adding records to a DB table.

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

Replace Your_NAME_Variable and Your_COMPUTERNAME_Variable with the variables in your code containing these values.

Upvotes: 0

Related Questions