Minimize database window on launch

J

James Ivey

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

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
 
J

John W. Vinson

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

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

James Ivey

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

Jen

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?
 
J

John W. Vinson

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

Jen

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
 
J

John W. Vinson

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