Macros as sceduled tasked in secure database

  • Thread starter Thread starter msnews.microsoft.com
  • Start date Start date
M

msnews.microsoft.com

I need to run a macro daily that updates infromation in our database. The
database is secured requiring a user name and password. In order to get the
macro to run I have to put the user name and password in the command line of
the scehduled task.

This is not acceptable for security reasons. Are there any ways to run a
macro daily and keep the dataabase secure?
 
Hi msnews.microsoft.com" <[email protected]>:
The concept of having a form open with combination of 'on
timer' and 'timer interval' properties/event procedure is
a better choice to activate your daily data-update-macro.
Hope code below helps
Rudy Escoto
Gubat Sorsogon

HERE IS AN INHERITED NEWSGROUP CODES I RECOMMEND TO YOU TO
USE:

Private Sub Form_Timer()
' IDLEMINUTES determines how much idle time to wait for
before
' running the IdleTimeDetected subroutine.
Const IDLEMINUTES = 180 '3hours X 60 min/hr

Static PrevControlName As String
Static PrevFormName As String
Static ExpiredTime

Dim ActiveFormName As String
Dim ActiveControlName As String
Dim ExpiredMinutes

On Error Resume Next

' Get the active form and control name.

ActiveFormName = Screen.ActiveForm.Name
If Err Then
ActiveFormName = "No Active Form"
Err = 0
End If

ActiveControlName = Screen.ActiveControl.Name
If Err Then
ActiveControlName = "No Active Control"
Err = 0
End If

' Record the current active names and reset
ExpiredTime if:
' 1. They have not been recorded yet (code is
running
' for the first time).
' 2. The previous names are different than the
current ones
' (the user has done something different
during the Timer
' interval).
If (PrevControlName = "") Or (PrevFormName = "") _
Or (ActiveFormName <> PrevFormName) _
Or (ActiveControlName <> PrevControlName) Then
PrevControlName = ActiveControlName
PrevFormName = ActiveFormName
ExpiredTime = 0
Else
' ...otherwise the user was idle during the
time interval , so
' increment the total expired time.
ExpiredTime = ExpiredTime + Me.TimerInterval
Me.tActualTimeRun.Value = UCase(userid()) & "
was idle for " & (ExpiredTime / 1000) / 60 & " minutes."
End If

' Does the total expired time exceed the
IDLEMINUTES?
ExpiredMinutes = (ExpiredTime / 1000) / 60
If ExpiredMinutes >= IDLEMINUTES Then
' ...if so, then reset the expired time to
zero...
ExpiredTime = 0
' ...and call the IdleTimeDetected subroutine.
IdleTimeDetected ExpiredMinutes
End If

fGetOut 'kicks off user from database if there is TRUE
(-1) value entry in table KickEmOff.GetOut.

End Sub
Sub IdleTimeDetected(ExpiredMinutes)
Dim sActualDayRunDDDD As String
sActualDayRunDDDD = Format(Date, "dddd")
If Format(now(), "dddd") = "Friday" Then
'DoCmd.OutputTo acReport, "StatusProject1", "SnapshotFormat
(*.snp)", "\\servername\folder\filename" & Format(now
(), "YYYYMMDDhhmmam/pm") & " Status.snp", False, ""
Else
'Creates a text log file
'Do something here
End Sub
 
Use your network security to prevent users from being able to get to the
database that runs the daily update macros.
 
Back
Top