Solved

Message on a button in Access 2003 form

Posted on 2012-03-19
15
296 Views
Last Modified: 2012-03-20
Hi experts,

Below is my goal, of course it doesn't work for me like this. Could you please help?

Private Sub Command29_GotFocus()

If A=B
Then MsgBox ("Budget OK")
else MsgBox ("Please check Budget")
End if

End Sub

Thank you!
0
Comment
Question by:howruaz9
  • 5
  • 4
  • 3
  • +1
15 Comments
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 500 total points
ID: 37739590
So, what doesn't work? No messages ?

Try the click event
Private Sub Command29_Click()

If A=B Then
     MsgBox ("Budget OK")
else
      MsgBox ("Please check Budget")
End if

End Sub
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37739609
<doesn't work>
?

Can you post the *entire* code please, then clearly state what does, or does not happen?

Also, are you quite sure the GotFocus event is the best event for this?
(Seems to me like BeforeUpdate or AfterUpdate, of a control might be better)

This is why it is always best if you *First* explain, in detail, what your ultimate goal is ...
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37739612
no points please.

Agree with MX that you should be using the Click event.  I like to keep my code short, so I would probably use:

Private sub cmd_YourCommandButtonName_Click

    msgbox iif(A=B, "Budget OK", "Please check budget!")

End sub
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37739620
...Or in the *Click* event of the button....

As the Gotfocus event of the button is rarely used for things like this...
0
 

Author Closing Comment

by:howruaz9
ID: 37739623
Hi MX, it's working on click. Thank you so much!
0
 

Author Comment

by:howruaz9
ID: 37739668
Hi boag2000 and fyed, you both figured out my problem as MX did. Thank you so much for your time, and I wish I could give some points. And I've tried fyed's, it's working perfectly too.
Thanks again.
0
 
LVL 75
ID: 37739707
You are welcome ...

mx
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37739747
howruaz9,

mx's code is easier to read, if you don't know what you are looking at or are new to VBA, so that is probably your best solution.

I've been writing and maintaining code for so long, I tend to take shortcuts.  The problem with shortcuts is that you have to understand the pro's and con's.  In this case, the IIF() function has a interesting characteristic that when the function is evaluated both the True and False expressions are evaluated, and if either of those expressions would generate an error, then the error is raised.  So, the following expression would raise an error, even though the first expression evaluates to True, and should return (0.75)

A = 3
B = 4
C = 0

?iif(B>A, A/B, B/C)
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37739751
howruaz9,

<I wish I could give some points. >

No crybabies here...

;-)

Jeff
0
 

Author Comment

by:howruaz9
ID: 37739846
Hi fyed,

I'm new to VBA, and not sure that I fully understand the following part. I've applied your IIF() Function to on click. Do I need to do something?
A = 3
B = 4
C = 0

?iif(B>A, A/B, B/C)

Thank you very much!
0
 
LVL 75
ID: 37739859
Let's keep it simple here guys. I realize that is a 'trick' solution, but come on ...

mx
0
 

Author Comment

by:howruaz9
ID: 37739868
Hi Jeff,

Your posts always make me think, if they don't, they makes me laugh......
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37740386
howruaz9,

Sorry for the confusion.  Use mx's solution, it is the simplest and is easy to read.

I was attempting to impart some additional knowledge, and just muddied the waters.

Like I said above:

"mx's code is easier to read, if you don't know what you are looking at or are new to VBA, so that is probably your best solution."
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37740531
<Hi Jeff,
Your posts always make me think, if they don't, they makes me laugh......>

Made My Day!
;-)

Jeff
0
 

Author Comment

by:howruaz9
ID: 37742303
Thanks, fyed. It's always good to know more. No need to say sorry. For now, just like mx and you suggested, I'm using the simpliest solution to make the database work.

Thanks, everyone.
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question