Minimize database window on launch

  • Thread starter Thread starter James Ivey
  • Start date Start date
J

James Ivey

Access Newbie here. Never seen a VBA edit window until yesterday :o)

When the database opens, I would like the main database window to minimize
to the bottom of the screen.

How can I do that?

James
 
Access Newbie here. Never seen a VBA edit window until yesterday :o)

When the database opens, I would like the main database window to minimize
to the bottom of the screen.

How can I do that?

James

Why not hide it altogether?

Tools... Startup... uncheck "Display Database Window".

You can redisplay it by pressing the F11 key.

John W. Vinson [MVP]
 
Thank you John. That works just fine.

James


John W. Vinson said:
Why not hide it altogether?

Tools... Startup... uncheck "Display Database Window".

You can redisplay it by pressing the F11 key.

John W. Vinson [MVP]
 
I have used the Tools... Startup... uncheck "Display Database Window" and
also have set up a Custom menu that does not include "Window". I have also
created a Switchboard that loads on open. However, I've noticed while at some
users desks that the database window is in a different position at various
times of use. The database window is not minimized, just in various places on
the screen, partially visible behind the start-up form. I've noticed that
some users don't open the database with full screen and this seems to
possibly be the cause???
I've taken away the min/max and re-size capability from the start-up form,
but when part of the database window is visible, the user can click on it and
bring it to the front of the window. I have marked each object as "Hidden",
but when I am working on the database and check "Show Hidden" in the options
there have been occasions where I have forgot to uncheck this before closing
and then they users can see the objects the next time it is opened. Is there
something I am missing? Is there some way to set the database window to
always center so it is not all over the screen?
 
Is there some way to set the database window to
always center so it is not all over the screen?

I'm sure there is, but I don't know what it might be. The question is though -
why is it showing AT ALL? I thought you'ld turned it off, so nobody should be
seeing it *anywhere* on the screen (unless you left them the F11 option or
some other way of opening it).

John W. Vinson [MVP]
 
Hi,
Well I guess that is my dilemma. I don't think they should be seeing it
either, but I can't seem to get rid of it, so I was trying to solve by
layering it behind the switchboard so they couldn't get to it.
I did uncheck the Display at Start-up, so I must have some code that
conflicts with this and is making it show up? But I have ran out of places to
check. I am pretty much just an advanced user, not a programmer. I am self
taught and have used Access for a number of years so I am familiar with SQL
and can write some basic statements, and decipher ones loaded by the wizards
and adjust accordingly, but I am no expert. I have tried to read through the
code to figure out why it is doing this, but I am stumped. I have removed
the Do Command Miminize Database Window from the start-up form code, but I
don't see anything else that should be causing this problem.
Here is the VB code for the start-up switchboard form:
Option Compare Database

Private Sub Detail_Click()

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


' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
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.
Const conNumButtons = 8

Dim con As Object
Dim rs As Object
Dim stSql 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].SetFocus
For intOption = 2 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 [Switchboard Items]"
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
Const conCmdOpenFormDatasheet = 10

' 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]

' Open a form in Datasheet Mode.
Case conCmdOpenFormDatasheet
DoCmd.OpenForm rs![Argument], acFormDS

' 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
 
Hi,
Well I guess that is my dilemma. I don't think they should be seeing it
either, but I can't seem to get rid of it, so I was trying to solve by
layering it behind the switchboard so they couldn't get to it.
I did uncheck the Display at Start-up, so I must have some code that
conflicts with this and is making it show up?

That's quite a bit of code to go through, but I didn't see anything obvious.
Doublechecking: You are running A2002 or 2003? And if you select Tools...
StartUp from the menu, you have the switchboard form selected in the "Display
Form/Page" dropdown, and the "Display Database Window" and "Use Access Special
Keys" checkboxes are UNchecked?

John W. Vinson [MVP]
 
Back
Top