[AccessD] Using DateDiff function CORRECTED QUESTION

Wortz, Charles CWortz at tea.state.tx.us
Tue Feb 11 14:40:00 CST 2003


Bob,

Whenever you have a MsgBox() you have to wait for the user response,
which is measured in seconds.  Think of the thousands of lines of your
code that could be running while you await the user response.

Charles Wortz
Software Development Division
Texas Education Agency
1701 N. Congress Ave
Austin, TX 78701-1494
512-463-9493
CWortz at tea.state.tx.us
(SELECT * FROM users WHERE clue > 0)


-----Original Message-----
From: Bob Gajewski [mailto:bob at renaissancesiding.com] 
Sent: Tuesday 2003 Feb 11 14:26
To: 'accessd at databaseadvisors.com'
Subject: RE: [AccessD] Using DateDiff function CORRECTED QUESTION

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
> 



More information about the AccessD mailing list