On Sat, 2 Jul 2011 19:18:01 -0700 (PDT), Todd H <(E-Mail Removed)>
wrote:
>I think the DoCmd.RunSQL is the proper function, but I can’t seem to
>get the syntax correct. I also want to “silence” this operation (no
>confirmation dialogs).
Almost but not quite.
The problem with DoCmd.RunSQL is that it ignores any errors. Either
of the following will display any error messages received by the
query. If using DAO, use Currentdb.Execute strSQL,dbfailonerror..
For ADO use CurrentProject.Connection.Execute strCommand,
lngRecordsAffected, adCmdText You can then remove the
docmd.setwarnings lines.
If you're going to use docmd.setwarnings make very sure you put the
True statement in any error handling code as well. Otherwise weird
things may happen later on especially while you are working on the
app. For example you will no longer get the "Do you wish to save your
changes" message if you close an object. This may mean that unwanted
changes, deletions or additions will be saved to your MDB.
Also performance can be significantly different between the two
methods. One posting stated currentdb.execute took two seconds while
docmd.runsql took eight seconds. As always YMMV.
>Private Sub CostCode_AfterUpdate()
>'DoCmd.RunSQL "INSERT INTO tblProjectLineItems (CostCode, Amount,
>BMNo, Contract) VALUES (" & Me.CostCode & ",0,9999,” N/A “);"
My newsgroup reader is showing some strange characters around N/A.
You'll want to use single quotes on text values. So for the above it
would be
currentdb.execute "INSERT INTO tblProjectLineItems (CostCode, Amount,
BMNo, Contract) VALUES ('" & Me.CostCode & "',0,9999,'N/A');"
There is a single quote just after the ( and just after the & " as
well as around N/A.
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages -
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog -
http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files
updated see
http://www.autofeupdater.com/