我希望用户认为他正在使用常规winform,但在后端我想要访问处理数据库的东西。
是否可以只使用访问表单并让其他所有内容在后台消失?我们可以从表单中创建一个exe吗?
什么是MDE?答案 0 :(得分:3)
你不能像其他人所说的那样从访问数据库中创建一个EXE,但你可以在很大程度上隐藏你的应用程序是以访问方式编写的。例如,你可以......
要做到这一点,只需将BMP文件保存在与DB相同的文件夹中,并将其称为完全相同的文件名,即MyDatabase.BMP。当访问启动而不是看到访问启动屏幕时,您将看到自定义的。
在您的数据库上,转到工具 - 启动并将应用程序图标更改为您选择的图标
您可以将表单上的图标从标准访问权限更改为您喜欢的任何内容,将此代码粘贴到模块中
Option Compare Database
Option Explicit
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 SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) _
As Long
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
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
然后你可以在表单OnOpen事件
上这样调用它SetFormIcon Me.hwnd, (“C:\Stuff\NewIcon.ico")
答案 1 :(得分:1)
没有。这在MS Access中是不可能的。
您需要创建一个VB / VB.NET可执行文件并在那里重新实现您的UI代码,您的数据连接指向Access数据库后端。