|
Option Compare Database
Option Explicit
Const conNumButtons = 8
Const conFontWeightBold = 700
Const conFontWeightNormal = 400
Private Sub cmdExit_Click()
CloseCurrentDatabase
End Sub
Private Sub cmdExit_GotFocus()
Dim intOption As Integer
'If the Exit Button has received the focus, turn off the focus on all the menu options
For intOption = 1 To conNumButtons
Me("Option" & intOption).Visible = False
Me("OptionLabel" & intOption).FontWeight = conFontWeightNormal
Next intOption
ExitLabel.FontUnderline = True
End Sub
Private Sub cmdExit_LostFocus()
ExitLabel.FontUnderline = False
End Sub
Private Sub cmdExit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ExitLabel.FontWeight = conFontWeightBold
End Sub
Private Sub cmdExit_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
ExitLabel.FontWeight = conFontWeightNormal
End Sub
Private Sub Form_Open(Cancel As Integer)
' Minimize the database window and initialize the form.
On Error GoTo Form_Open_Err
' Minimize the database window.
DoCmd.SelectObject acForm, "Switchboard", True
DoCmd.Minimize
' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'ĬÈÏ' "
Me.FilterOn = True
Form_Open_Exit:
Exit Sub
Form_Open_Err:
MsgBox Err.Description
Resume Form_Open_Exit
End Sub
Private Sub Form_Current()
' Update the caption and fill in the list of options.
Me.Caption = Nz(Me![ItemText], "")
FillOptions
End Sub
Private Sub FillOptions()
' Fill in the options for this switchboard page.
' The number of buttons on the form.
Dim dbs As Database
Dim rst As Recordset
Dim strSQL As String
Dim intOption As Integer
' Set the focus to the first button on the form,
' and then hide all of the buttons on the form
' but the first. You can't hide the field with the focus.
Me![Option1].Visible = True
Me![Command1].Enabled = True
Me![Command1].SetFocus
With Me![OptionLabel1]
.Visible = True
.FontWeight = conFontWeightBold
End With
For intOption = 2 To conNumButtons
Me("Option" & intOption).Visible = False
Me("OptionLabel" & intOption).Visible = False
Me("OptionLabel" & intOption).FontWeight = conFontWeightNormal
Me("Command" & intOption).Enabled = False
Next intOption
' Open the table of Switchboard Items, and find
' the first item for this Switchboard Page.
Set dbs = CurrentDb()
strSQL = "SELECT * FROM [Switchboard Items]"
strSQL = strSQL & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]
strSQL = strSQL & " ORDER BY [ItemNumber];"
Set rst = dbs.OpenRecordset(strSQL)
' If there are no options for this Switchboard Page,
' display a message. Otherwise, fill the page with the items.
If (rst.EOF) Then
Me![OptionLabel1].Caption = "´ËÇл»Ãæ°åҳûÓÐÏîÄ¿"
Else
While (Not (rst.EOF))
Me("OptionLabel" & rst![ItemNumber]).Visible = True
Me("OptionLabel" & rst![ItemNumber]).Caption = rst![ItemText]
Me("Command" & rst![ItemNumber]).Enabled = True
rst.MoveNext
Wend
End If
' Close the recordset and the database.
rst.Close
dbs.Close
End Sub
Private Function HandleFocus(intBtn As Integer)
' This function is called when a menu option receives the focus.
' intBtn indicates which button was clicked.
Dim intOption As Integer
On Error GoTo HandleMouseOver_Err
For intOption = 1 To conNumButtons
'Show that this menu option has the focus...
If intOption = intBtn Then
Me("Option" & intOption).Visible = True
Me("OptionLabe |
|