DoCmd.SetWarnings False
But how to trap the warnings ?
On warning, I want to run specific code instead of showing the in-built
message box to the user.
Depends on what you are doing at the time. Many of the macro commands have
proper database methods that you can call; for example, instead of
DoCmd.RunSQL
use
db.Execute strCommand, dbFailOnError
and get a normal vb Error. Similarly, force-saving a form can be achieved
with
Me.Dirty = False
rather than DoCmd.RunCommand and so on. If it's a database command, you can
do it with one of the ADO or DAO methods; for most of the GUI stuff you can
call the Forms() or Reports() methods or properties etc. I very rarely use
the DoCmd object; and when I do, I recognise it as a warning that I am
probably going the wrong way about something.
The biggest exception is DoCmd.OpenForm and .OpenReport, and that is
because DAO does not have a good way of manipulating the Forms() and
Reports() collections. The desired syntax would be something like
Forms.Add "frmPatientContacts", dbFormHidden
With Forms("frmPatientContacts")
.PatientID = 30458
.DateFrom = #2004-01-01#
.Requery
.Visible = True
End With
but we can't do that, so there.
All the best
Tim F