[AccessD] Using DateDiff function

Bob Gajewski bob at renaissancesiding.com
Tue Feb 11 14:20:01 CST 2003


Arthur

(Almost) totally unrelated question, but I imagine you know the answer.
Which is more efficient?

**************************************************************
If vbNo = MsgBox("You've already updated the records today." & vbCrLf & _
   "Are you sure that you want to update them again?", vbYesNo + vbQuestion, "Alert")
   Exit Sub
Else
   DoCmd.RunMacro "GetRates"
End If
End Sub
**************************************************************

or your response to Oleg?

I'm desperately trying to streamline my code for processing speed, and I would
appreciate any thoughts you have on this.

TIA,
Bob Gajewski




On Tuesday, February 11, 2003 15:00 PM, Arthur Fuller [SMTP:artful at rogers.com] wrote:
> Yet another opportunity for me to praise static functions :-) Put this into
> a public module:
> 
> Static Function LastRun() as Date
> Dim dtNow as Date
> If IsNull(dtNow) Then
> 	dtNow = Now()
> End If
> LastRun = dtNow
> End Function
> 
> Now call this function from your click:
> 
> Private Sub Command20_Click()
> Dim Andy
> If DateDiff("h", Now, LastRun()) <= 15 Then
> Andy = MsgBox("You've already updated the records today" & vbCrLf & _
>         "Are you sure you wish to update again?", vbYesNo, "alert")
>   If Andy = vbNo Then
>     Exit Sub
>   End If
> End If
> DoCmd.RunMacro "GetRates"
> End Sub
> 
> Or, perhaps better, in the OnCurrent event of the form, set the availability
> of the button and forget the "You bungling user" message :-)
> 
> Command20.Enabled = DateDiff("h", Now, LastRun()) > 15
> 
> Which of course poses problems if the user is likely to have the form open
> on the same record for hours and hours, but if that is a possibility you can
> put the line above into its own function and call that function from a
> timer 
> Hth,
> Arthur
> 
> -----Original Message-----
> From: accessd-admin at databaseadvisors.com
> [mailto:accessd-admin at databaseadvisors.com] On Behalf Of Oleg_123 at xuppa.com
> Sent: February 11, 2003 1:53 PM
> To: accessd at databaseadvisors.com
> Subject: [AccessD] Using DateDiff function
> 
> Hey, I am trying to make sure a user doesn'y click on  same button twice
> in one day by mistake. I wrote this; doesn't work caz LastRun keeps
> getting redefined if it starts over. Maybe I should an invisible label to
> store latest update date and then check against the label ?
> 
> -------------------------------------------------------
> Dim LastRun
> 
> Private Sub Command20_Click()
> Dim Andy
> 
> If DateDiff("h", Now, LastRun) <= 15 Then
> Andy = MsgBox("You've alredy updated the records today" & vbCrLf & _
>         "Are you sure you wish to update again?", vbYesNo, "alert")
>   If Andy = vbNo Then
>     Exit Sub
>   End If
> End If
>   DoCmd.RunMacro "GetRates"
> 
> LastRun = Now
> End Sub
> 
> 
> -----------------------------------------
> Send a Xuppa Valentine to Your Sweetheart today!
> http://www.xuppa.com/greet/
> 
> 
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list