Solved

Message on a button in Access 2003 form

Posted on 2012-03-19
15
300 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 3
  • +1
15 Comments
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) 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
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Error 438 6 50
Out in left field or not to far off base 8 67
Cant delete records in query 8 46
VBA Ref Table, use ID#, then ref column 2 3 20
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

737 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