MS Access 2003 - 是否有一种方法可以在没有表单/报告周围的访问shell的情况下运行访问(mde)

时间:2010-03-27 14:19:15

标签: windows ms-access vba access-vba

所以我不确定我是否正确地问这个问题;让我解释一下:

有没有办法在没有表格/报告的访问shell的情况下运行我的MDE?提供菜单的部分和小应用程序标题。我认为这是我所有访问内容所依赖的整体表示层形式,但我不确定。我只是想知道你是否可以摆脱它。

谢谢

2 个答案:

答案 0 :(得分:1)

这是使用VBA完成的方法。

Setting Start-Up Options Using VBA

否则,请在当前数据库选项下查找允许完整菜单允许默认快捷菜单等内容并将其关闭。

答案 1 :(得分:1)

如果您想进一步“隐藏”您的应用程序是以访问方式编写的,那么您还可以执行其他一些操作。如果将位图图像放在同一个文件夹中,并将其称为与数据库完全相同的内容,即“MyDatabase.mde”和“MyDatabase.bmp”,则访问将使用它作为启动画面而不显示它。

此处还有一些代码可以更改每个表单上表单标题旁边显示的图标

'place this sub in each forms "Load" event 
Private Sub Form_Load() 

SetFormIcon Me.hWnd, Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name))) & “\myicon.ico"
‘if the icon file is stored in the same directory as the db
‘or
SetFormIcon Me.hWnd, "C:\Icons\Icon1.ico" 'Location of icon file 

End Sub 

'copy below code in a new public module 
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long 

Private Const WM_SETICON = &H80 
Private Const IMAGE_ICON = 1 
Private Const LR_LOADFROMFILE = &H10 
Private Const SM_CXSMICON As Long = 49 
Private Const SM_CYSMICON As Long = 50 

Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long 
Private Declare Function Long, ByVal wMsg As Long, ByVal wParam As Long, LParam As Any) As Long 

Public Function SetFormIcon(hWnd As Long, strIconPath As String) As Boolean 
Dim lIcon As Long 
Dim lResult As Long 
Dim X As Long, Y As Long 

X = GetSystemMetrics(SM_CXSMICON) 
Y = GetSystemMetrics(SM_CYSMICON) 
lIcon = LoadImage(0, strIconPath, 1, X, Y, LR_LOADFROMFILE) 
lResult = SendMessage(hWnd, WM_SETICON, 0, ByVal lIcon) 
End Function

SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As