First thing: check your data.
Because you don't list the columns you are trying to INSERT into, Access assumes that you want to insert data starting from the first column - so if you have an automatic ID column at the beginning - and it's very common - the INSERT will fail, because you aren't allowed to write to them. So look at your table definition, check the data in the table, and make sure that at least one row matches the id value you are trying to UPDATE later.
ANd then change your query to list the columns:
INSERT INTO Payment (columnName1, columnName2, columnName3, columnName4) VALUES (...
Second - and this is really important - don't do it like that! Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
See here:
http://www.vbforums.com/showthread.php?552665-Database-How-do-I-use-an-ADO-Command-object[
^]
If that doesn't fix it, we need to know the exact error message, and the line that it appears on.