I would like to interject a quality control rant. By absolutely no means is this an expression of disrespect to Ziggy, who without any doubt is merely being concise and saving time in the reply, and besides is not being paid for his volunteer work here (I presume
):
Consider changing
If (IsNull(Text1) Or Text1 = "") Or (IsNull(Text3) Or Text3 = "") _
Or (IsNull(Text5) Or Text5 = "") Then
MsgBox "You must fill in All Fields", vbOKOnly
to
If (IsNull(Text1) Or Text1 = "") Then
MsgBox "report aborted because Text1 is empty in form Foo", vbOKOnly
exit sub
endif
If (IsNull(Text3) Or Text3 = "") Then
MsgBox "report aborted because Text3 is empty in form Foo", vbOKOnly
exit sub
endif
(etc.)
The first way is how the company "Yes, we're lame, but we're hot shot prima donna programmers who know better than users what is best for them" Microsoft writes dialogs/error messages/message boxes.
The Antichrist would fire anyone in his company who did it the latter way instead, but there are a multitude of blatant as well as subtle reasons why it is the "right" thing to do, although not the "Microsoft" way
Again, I'm sure Ziggy's real-world message boxes are adequate for his users. I just want to make this important point so it can ride together with the rest of the thread in posterity (grin)