Meaning of Procedure

Prayder

Registered User.
Local time
Today, 16:11
Joined
Mar 20, 2013
Messages
303
I was wondering if someone could tell me exactly what this does:

Code:
Private Sub Form_Load()
    Me.ReqPanel.Visible = Config.IsPxManager
    DoCmd.Maximize
End Sub

Also I understand what the Me. keyword does but where does the ReqPanel actually come from? I thought it was a property of the form that loads but could not find it in the properties.
 
I would expect ReqPanel to be a control on the current form.

Where did this code come from?
 
What is the declaration of Config variable? Looks like an object, but I am not sure what it is Dim-med as.

Me. is the way to represent the current Form/Report object. So using Me. is same as using Forms!yourCurrentFormName.someControl.Visible
 
When I click on the form this procedure is associated with I get my switchboard page that comes up but I also get a report called RequisitionNotifySubmitted that opens if someone has submitted a requisition that requires an approval.
 
The config.ispxmanager looks at the person logging into the db and determines if they are the px manager or not. If they are not then the report does not display for them.
 
my question to pr2-eugin is how would a person know that the me.reqpanel would refer to that report called RequisitionNotifySubmitted since the me. keyword in this instance is in the load property of the switchboard page?
 
RE: your post #5
That makes sense --- some controls and functions are available to users depending on their "rights/role".

I'm seeing posts/order changing after refreshing the New Posts?????

As for your question to Paul regarding RequisitionNotifySubmitted - you wouldn't.
That sort of thing would be in the elated documentation; or an operations manual; or a system overview document.

I would have expected some focused comments in the Form Load procedure to described the importance/relevance of the
RequisitionNotifySubmitted.
Bottom line is -- you should not have to guess what this is in an operational/production system.
 
Last edited:
This is the code module associated with the entire form:

Code:
Option Compare Database
Option Explicit
'flag to signal that the form has just now opened
Private Started As Boolean
Private Sub Form_Activate()
DoCmd.Maximize
End Sub
Private Sub Form_GotFocus()
DoCmd.Maximize
End Sub
Private Sub Form_Load()
    ReqPanel.Visible = Config.IsPxManager
    DoCmd.Maximize
End Sub
Private Sub Form_Open(Cancel As Integer)
 
    ' Move to the switchboard page that is marked as the default.
    Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
    Me.FilterOn = True
    'open form to monitor for and synchronize data in handheld
    DoCmd.OpenForm "Handheld_Update", acNormal, "", "", , acHidden
 
    'set flag and interval to run timer event in half a second
    Started = True
    Me.TimerInterval = 500
 
    'issue the reports about requisitions if this person is a "Parter"
    If Config.IsRequisitionParter Then Requisition.Notify
    DoCmd.Maximize
 
End Sub
Private Sub Form_Current()
' Update the caption and fill in the list of options.
    Me.Caption = Nz(Me![ItemText], "")
    FillOptions
    DoCmd.Maximize
 
End Sub
Private Sub FillOptions()
' Fill in the options for this switchboard page.
    ' The number of buttons on the form.
    Const conNumButtons = 8
 
    Dim con As Object
    Dim rs As Object
    Dim stSql As String
    Dim intOption As Integer
 
    ' Set the focus to the close button on the form,
    ' and then hide all of the buttons on the form
    ' You can't hide the field with the focus.
    Me.Command24.SetFocus
    For intOption = 1 To conNumButtons
        Me("Option" & intOption).Visible = False
        Me("OptionLabel" & intOption).Visible = False
    Next intOption
 
    ' Open the table of Switchboard Items, and find
    ' the first item for this Switchboard Page.
    Set con = Application.CurrentProject.Connection
    stSql = "SELECT * FROM [MenuGetforUser]"
    stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]
    stSql = stSql & " ORDER BY [ItemNumber];"
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open stSql, con, 1   ' 1 = adOpenKeyset
 
    ' If there are no options for this Switchboard Page,
    ' display a message.  Otherwise, fill the page with the items.
    If (rs.EOF) Then
        Me![OptionLabel1].Caption = "There are no items for this switchboard page"
    Else
        While (Not (rs.EOF))
            Me("Option" & rs![ItemNumber]).Visible = True
            Me("OptionLabel" & rs![ItemNumber]).Visible = True
            Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText]
            rs.MoveNext
        Wend
    End If
    ' Close the recordset and the database.
    rs.Close
    Set rs = Nothing
    Set con = Nothing
End Sub
Private Function HandleButtonClick(intBtn As Integer)
' This function is called when a button is clicked.
' intBtn indicates which button was clicked.
    ' Constants for the commands that can be executed.
    Const conCmdGotoSwitchboard = 1
    Const conCmdOpenFormAdd = 2
    Const conCmdOpenFormBrowse = 3
    Const conCmdOpenReport = 4
    Const conCmdCustomizeSwitchboard = 5
    Const conCmdExitApplication = 6
    Const conCmdRunMacro = 7
    Const conCmdRunCode = 8
    Const conCmdOpenPage = 9
    ' An error that is special cased.
    Const conErrDoCmdCancelled = 2501
 
    Dim con As Object
    Dim rs As Object
    Dim stSql As String
On Error GoTo HandleButtonClick_Err
    ' Find the item in the Switchboard Items table
    ' that corresponds to the button that was clicked.
    Set con = Application.CurrentProject.Connection
    Set rs = CreateObject("ADODB.Recordset")
    stSql = "SELECT * FROM [Switchboard Items] "
    stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn
    rs.Open stSql, con, 1    ' 1 = adOpenKeyset
 
    ' If no item matches, report the error and exit the function.
    If (rs.EOF) Then
        MsgBox "There was an error reading the Switchboard Items table."
        rs.Close
        Set rs = Nothing
        Set con = Nothing
        Exit Function
    End If
 
    Select Case rs![Command]
 
        ' Go to another switchboard.
        Case conCmdGotoSwitchboard
            Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument]
 
        ' Open a form in Add mode.
        Case conCmdOpenFormAdd
            DoCmd.OpenForm rs![Argument], , , , acAdd
        ' Open a form.
        Case conCmdOpenFormBrowse
            DoCmd.OpenForm rs![Argument]
        ' Open a report.
        Case conCmdOpenReport
            DoCmd.OpenReport rs![Argument], acPreview
        ' Customize the Switchboard.
        Case conCmdCustomizeSwitchboard
            ' Handle the case where the Switchboard Manager
            ' is not installed (e.g. Minimal Install).
            On Error Resume Next
            Application.Run "ACWZMAIN.sbm_Entry"
            If (Err <> 0) Then MsgBox "Command not available."
            On Error GoTo 0
            ' Update the form.
            Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
            Me.Caption = Nz(Me![ItemText], "")
            FillOptions
        ' Exit the application.
        Case conCmdExitApplication
            CloseCurrentDatabase
        ' Run a macro.
        Case conCmdRunMacro
            DoCmd.RunMacro rs![Argument]
        ' Run code.
        Case conCmdRunCode
            Application.Run rs![Argument]
        ' Open a Data Access Page
        Case conCmdOpenPage
            DoCmd.OpenDataAccessPage rs![Argument]
        ' Any other command is unrecognized.
        Case Else
            MsgBox "Unknown option."
 
    End Select
    ' Close the recordset and the database.
    rs.Close
 
HandleButtonClick_Exit:
On Error Resume Next
    Set rs = Nothing
    Set con = Nothing
    Exit Function
HandleButtonClick_Err:
    ' If the action was cancelled by the user for
    ' some reason, don't display an error message.
    ' Instead, resume on the next line.
    If (Err = conErrDoCmdCancelled) Then
        Resume Next
    Else
        MsgBox "There was an error executing the command.", vbCritical
        Resume HandleButtonClick_Exit
    End If
 
End Function
 
Private Sub Command24_Click()
On Error GoTo Err_Command24_Click
    If MsgBox("Are you SURE you want to quit the application?", vbYesNo) = vbYes Then _
    DoCmd.Quit
Exit_Command24_Click:
    Exit Sub
Err_Command24_Click:
    MsgBox Err.Description
    Resume Exit_Command24_Click
 
End Sub
 
Private Sub Form_Timer()
 
    'run once after form opens to maximize screens
    If Started Then
    '    DoCmd.Maximize
        MaximizeAccess
        Started = False
        Me.TimerInterval = 60000 'check every minute
    End If
    'get number of requisitions needing attention
    If Config.IsPxManager Then
        Dim Numbers As Variant
        Numbers = Requisition.NotifyReqApplication
 
        Me.txtGenReq.value = Numbers(0)
        Me.txtPReqPart.value = Numbers(1)
        Me.txtPreqApproved.value = Numbers(2)
    End If
 
 
End Sub

But I still did not see where that certain report opened up... still a novice at this coding thing.
 
A public function is available to be called by any module isnt it?
 

Users who are viewing this thread

Back
Top Bottom