Solved

Making Access database "not look like" and Access database

Posted on 2014-02-16
10
2,197 Views
Last Modified: 2014-02-18
Hi,

I don't want my Access database to look like an Access database.

I want to remove all ribbons, toolbars and any other stuff that make it look Accessy!

I want it NOT be be apparent what the database was written in.

How do I do this?

Thanks!
0
Comment
Question by:Patrick O'Dea
  • 2
  • 2
  • 2
  • +4
10 Comments
 
LVL 5

Expert Comment

by:cheers4beers
ID: 39862399
Are you referring to the "look" that the end user sees? That would be dependent on the front end used to access the database.

Or, are you referring to what you see while working within Access?
0
 
LVL 27

Accepted Solution

by:
MacroShadow earned 167 total points
ID: 39862404
I don't want my Access database to look like an Access database.
If you are distributing you database using the runtime version, this is a violation of Microsoft's license agreement.

If the users will not be using the runtime version you can achieve your goal, but be forewarned it may cause some trouble.

To hide the main access window you can use the code written by Dev Ashish located at http://access.mvps.org/access/api/api0019.htm (I won't copy the code here since it is available on countless websites, the function is Function fSetAccessWindow(nCmdShow As Long)).

Please note, you will have to make all forms popup and modal.
   Me.PopUp = True
   Me.Modal = True

I want to remove all ribbons, toolbars and any other stuff that make it look Accessy!
For that you will have to create you own custom ribbon. This is a fairly complex process, here are several links to get you started:
http://www.access-programmers.co.uk/forums/showthread.php?t=222872
http://www.accessribbon.de/en/?Welcome
http://www.ribbon01.com/index.htm
http://accessextra.blogspot.com/2010/03/new-ezy-access-ribbonx-builder-editor.html


I want it NOT be be apparent what the database was written in.
The key word is APPARENT, it will be easy enough to see what it is (hint, extension).
0
 

Author Comment

by:Patrick O'Dea
ID: 39862409
In response to cheers4beers;

Yes, I am only really interested in what the user sees.

I have no great mystery or conspiracy in this matter.

I simple think that databases look more professional if they do not have all the various toolbars/ribbons showing.

Perhaps I have over complicated what I believed to be a simple matter.

I thought perhaps there was a simple "Option" that would hide this stuff.

(Meanwhile I am studying response from MacroShadow)
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 75
ID: 39862419
"If you are distributing you database using the runtime version, this is a violation of Microsoft's license agreement."

Can you point to exactly where such a statement is made by Microsoft ?

mx
0
 
LVL 27

Expert Comment

by:MacroShadow
ID: 39862542
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.

    ...

    ii. Distribution Requirements. For any Distributable Code you distribute, you must...

       
keep the status bar containing the statement "Powered by Microsoft Office Access" displayed in your user interface to be viewed by users at all times;
0
 
LVL 47

Assisted Solution

by:Dale Fye (Access MVP)
Dale Fye (Access MVP) earned 167 total points
ID: 39862568
If you simply want to hide all of the ribbons and navigation bar.  It is relatively simple, see code below.  I just use the line:

Display false

in the Open event of my Splash form, or you could create an AutoExec macro which calls the function on your applications startup.
Public Function Display(Optional IsVisible As Boolean = True)

    DisplayNavPane IsVisible
    DisplayRibbon IsVisible
    
End Function

Public Sub DisplayNavPane(Optional IsVisible As Boolean = True)

    Dim strTableName As String
    
    if IsVisible then
        DoCmd.SelectObject acTable, , True
    Else
        DoCmd.RunCommand acCmdWindowHide
    End If

End Sub

Public Sub DisplayRibbon(Optional IsVisible As Boolean = True)

    Dim intAction As Integer
    
    If Application.Version < 12 Then 
        'do nothing accounts for the lack of a "ribbon" in versions prior to 2007
    ElseIf IsVisible Then
        DoCmd.ShowToolbar "Ribbon", acToolbarYes
    Else
        DoCmd.ShowToolbar "Ribbon", acToolbarNo
    End If
    
End Sub

Open in new window

0
 
LVL 20

Assisted Solution

by:clarkscott
clarkscott earned 166 total points
ID: 39862600
Paste this code into a module:

Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Dim dwReturn As Long
 
Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
 
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Then, paste this function into a module:

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
If Procedure = "Hide" Then
    dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = "Show" Then
    dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = "Minimize" Then
    dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
    If IsWindowVisible(hWndAccessApp) = 1 Then
        dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
    Else
        dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
    End If
End If
If StatusCheck = True Then
    If IsWindowVisible(hWndAccessApp) = 0 Then
        fAccessWindow = False
    End If
    If IsWindowVisible(hWndAccessApp) = 1 Then
        fAccessWindow = True
    End If
End If
End Function

Now, in your first form (main menu, switchboard, etc.) in the ON OPEN event:

Call fAccessWindow("Hide", False, False)

KEEP IN MIND.  If you want to develop in this app, you MUST start Access while holding down your shift key (stops autoexec macro) and REMARK THIS OUT !!!   If you attempt to "break into your app or code"... Access will totally disappear from your screen.  You WILL have to use the TASK MANAGER to stop the application.

Scott C
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 39862953
And you need to have very good error handling.  If you encounter an unhandled error, the Access window will be hidden and you will not be able to see the code window.
0
 

Author Closing Comment

by:Patrick O'Dea
ID: 39865851
Thanks folks,  I have taken your advice.
0
 
LVL 57
ID: 39867358
On this point:

<<The key word is APPARENT, it will be easy enough to see what it is (hint, extension). >>

 You can make the extension anything you want.  Access doesn't care.

Jim.
0

Featured Post

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question