jamesTheProgrammer
jamesTheProgrammer

Reputation: 1777

Why are duplicate records being generated in the table?

I am using MS Access 2010. I have a form that captures a couple data items and then writes the record to a table using a function that I defined. The function is called in the click event of the Write Record command-button in the form.

Form: form

Code:

> Private Sub writerecord_Click()

  Rem MsgBox ("in write record click event")

  Dim sqlString As String

  Rem 1 - write to the kit_items table
  sqlString = "INSERT INTO kit_items (item_vendorid, item_name,  item_description, item_cost) VALUES (" & Me!vendorlist & ", '" & Me!item_name & "', '" & Me!item_description & "', '" & Me!item_cost & "');"

  DoCmd.RunSQL sqlString
  MsgBox ("done writing to table kit_items")

End Sub

records saved in table looks like this

table data

**What is generating the duplicate record ?

Upvotes: 1

Views: 62

Answers (1)

Josh Miller
Josh Miller

Reputation: 620

If your form is bound to the table that you are writing to, the button will add a second record.

If you would like to work with data this way, you would need to make sure that the form is unbound.

Beware however that if you don't take steps to 'clear' out the data once the user clicks the button to write the record, every time they click the button you will get a new record.

Is there some reason why you need to do the inserting manually (as opposed to letting the bound form handle the inserts/edits)?

Upvotes: 2

Related Questions