Macros as sceduled tasked in secure database

  • Thread starter msnews.microsoft.com
  • 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?
 
R

rudy escoto

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
 
L

Lynn Trapp

Use your network security to prevent users from being able to get to the
database that runs the daily update macros.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top