Solved

After Update Code

Posted on 2006-06-29
12
208 Views
Last Modified: 2008-03-17
Hello,

I'm not sure how to write this code.

Here's the code I have in place,...

Private Sub txtAttendanceSubject_AfterUpdate()
Me.txtAttendanceNote = 1
End Sub

But here's what I would like,...

Private Sub txtAttendanceSubject_AfterUpdate()
Me.txtAttendanceNote = Null
IF txtAttendanceSubject = Any Value, then = 1
IF txtAttendanceSubject = No Value, then = Null

So basically, if txtAttendanceSubject equals a value of any kind, txtAttendanceSubject will ALWAYS = 1

But if there's nothing in txtAttendanceSubject, OR the value has since been removed, THEN it needs to = Null
End Sub
0
Comment
Question by:xp310
  • 4
  • 2
  • 2
  • +2
12 Comments
 
LVL 65

Expert Comment

by:Jim Horn
ID: 17011531
The AfterUpdate event fires AFTER you UPDATE, so if you want to impliment code that changes the value, you'll want to do it in BeforeUpdate, like this:

Private Sub txtAttendanceSubject_BeforeUpdate(Cancel as Integer)

Me.txtAttendanceNote = Null
IF Nz(Me.txtAttendanceSubject, 'Wahoo') <> "Wahoo"
    Me.txtAttendanceSubject = 1
else
    Me.txtAttendanceSubject = NULL
end if

End Sub
0
 
LVL 65

Expert Comment

by:Jim Horn
ID: 17011536
(slight correction, need double quotes)

IF Nz(Me.txtAttendanceSubject, "Wahoo") <> "Wahoo"   '<-- Replace "Wahoo" with whatever floats your boat
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17011537
Private Sub txtAttendanceSubject_AfterUpdate()
    if NZ(Me.txtAttendanceSubject ,"") = "" then Me.txtAttendanceNote = Null else Me.txtAttendanceNote = 1
End Sub
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 65

Accepted Solution

by:
rockiroads earned 500 total points
ID: 17011564
Oopps copy/paste wrong field?

Private Sub txtAttendanceSubject_AfterUpdate()
    if NZ(Me.txtAttendanceSubject ,"") = "" then Me.txtAttendanceSubject = Null else Me.txtAttendanceSubject = 1
End Sub

but tell me, do u intentionally change Subject to 1 if a value has been entered?
If u do the above, it will call the AfterUpdate function again


0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17011607
Just curious if u are always going to set the Subject to 1 or nothing, why dont u create some kind of checkbox instead

0
 

Author Comment

by:xp310
ID: 17011743
Jim,

I tried your code in the Before Update - but for my example, I can't tie it to a specific word.  So I replaced "wahoo" with "".  And in doing that, the code doesn't work & highlights that specific row I changed.

As for the before & after update - I think I have a very different understanding how those events work.  To me, it would make sense to put it in the after update.  If the code runs "Before" then how is it going to determine the correct answer.  It would make sense that it would run "After" to determine if a value of any kind has been entered.

Eh, like I said...  I'm sure my sense of what those events do is complete screwed up.  :-)

Rockiroads,

I tried your code, but it didn't work for me it just resulted in errors.  As for your comment about me changing the values - well your codes are backwards I think.

This is basically what I want...

"IF txtAttendanceSubject = ANY VALUE then txtAttendanceNote will = 1"

So, txtAttendanceNote only signifies a value has been entered into the subject field.  if there's no 1, then there shouldn't be a subject.
0
 
LVL 34

Expert Comment

by:jefftwilley
ID: 17015144
This one checks that subject isn't null or blank. If that's true, then note = 1 else note = null

Private Sub txtAttendanceSubject_AfterUpdate()

If Not Nz(me.txtAttendanceSubject.value) = ""  then
    me.txtAttendanceNote.value = 1
else
    me.txtAttendanceNote.value = Null
end if

End Sub
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17015745
xp310
this is what I thought, Im sure it was a typo

my first post, this should do what u want

Private Sub txtAttendanceSubject_AfterUpdate()
    if NZ(Me.txtAttendanceSubject ,"") = "" then Me.txtAttendanceNote = Null else Me.txtAttendanceNote = 1
End Sub


did this not work?

my 2nd post was a reflection of what u said in your initial question, but then I queried this - u wanted to update the subject. I thought this was wrong.
0
 
LVL 54

Expert Comment

by:nico5038
ID: 17019875
<no comment>

Nic;o)
0
 
LVL 34

Expert Comment

by:jefftwilley
ID: 17020510
Hello All,
Rocki's solution works...do not accept mine as answer as I was not first.
J
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

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

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…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
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…

777 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