0

I'm creating a form that is intended to add records to a data table or edit existing record if the ID is a duplicate. `

UPDATE**

I've figured out how to make this work. Sort of. My current code is

`Option Compare Database

Private Sub btnAddRecord_Click()
    'Declare variables
    Dim db As DAO.Database
    Dim rst As Recordset
    Dim intID As Integer

'Set the current database
Set db = Application.CurrentDb

'Set the recordset
Set rst = db.OpenRecordset("tblHOAFees", dbOpenDynaset)

'Set value for variable
intID = lstAccountID.Value

'Finds the Account ID selected on the form
With rst
rst.FindFirst "AccountID=" & intID

'If the record has not yet been added to the form adds a new record
If .NoMatch Then
        rst.AddNew
        rst!AccountID = intID
        rst!HOAID = txtHOAID.Value
        rst!Location = txtLocation.Value
        rst!House = chkHouse.Value
        rst!Rooms = txtRooms.Value
        rst!SquareFeet = txtSquareFeet.Value
        rst!HOAFees = txtHOAFees.Value
        rst.Update
'If the Account ID is already in the form edits the record
Else
        rst.Edit
        rst!AccountID = intID
        rst!HOAID = txtHOAID.Value
        rst!Location = txtLocation.Value
        rst!House = chkHouse.Value
        rst!Rooms = txtRooms.Value
        rst!SquareFeet = txtSquareFeet.Value
        rst!HOAFees = txtHOAFees.Value
        rst.Update
End If
End With


'Closes the recordset
rst.Close
Set rst = Nothing
Set db = Nothing


End Sub`

This adds or edits records. However, after adding a record and trying to close my form I get an error message about how the table can't be saved because it created a duplicate. When I click through all the error messages re-open the table, the records are still on there anyway. I can't seem to figure out how to get around this.Error Image

Johnny Bones
  • 8,786
  • 7
  • 52
  • 117

0 Answers0