Bob Gajewski
bob at renaissancesiding.com
Tue Feb 11 14:26:00 CST 2003
CORRECTION Arthur (Almost) totally unrelated question, but I imagine you know the answer. Which is more efficient? ************************************************************** Private Sub Command20_Click() If DateDiff("h", Now, LastRun()) <= 15 Then 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 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 >