You can't run an update query with that syntax.
Instead of CurrentDb.Execute "qryAppendTotblQueryData", dbFailOnError
Are you positive, 'cause I'm not. CurrentDb.Execute is only for action queries, and Update is an action query. I think the issue is that you can't use the execute method on an action query that has parameters without defining and providing the parameter values. If the query has form references as parameters, I agree it's simpler to use the OpenQuery method. However, I've read where DoCmd.Open query was created to provide datasheets from queries and just happens to run an action query (if it does not need parameters from VBA). What I don't remember is if it eliminates the prompts from action queries. The Execute method prevents warnings, or having to cycle them on/off, plus if there are errors, it does not complete, which certainly can be valuable when it comes to action queries. The db I downloaded has no code for the button click event:
Private Sub cmdAppendData_Click()
End Sub
so I'm going by what I see in the only query in the db. Tim1, to execute a query in VBA, you typically create a QueryDef object, Parameter variables and assign the parameters to the object. There are many places you can read up on this (some of them go into way too much stuff for what you need, I think). Take a look at this simple sample starting with post #2. http://www.access-programmers.co.uk/...d.php?t=191614
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.