As explained in
Number of query values and destination fields are not the same.[
^] you need to specify the target columns. Otherwise you will have problems when columns are changed, added, or the order changes.
Another potential error source is the fact that you're not using parameters. If the data in the text box has an apostrophe (') then your statement will fail. Not to mention the problems for the fact that you're vulnerable to SQL injections. So make use of
OleDbParameter Class (System.Data.OleDb)[
^]
As a side note when you catch the exception, you assume that the exception happened because the record already exists. This is just one of many potential reasons for the statement to fail. So the best option would be to show the real message for the exception. I really suggest going through
Properly executing database operations[
^]