Sql 是否可以从访问表单中生成EXE?

Sql 是否可以从访问表单中生成EXE?,sql,winforms,vba,ms-access,Sql,Winforms,Vba,Ms Access,我希望用户认为他使用的是常规winform,但在后端,我希望access能够处理DB内容 是否可以只使用访问表单,让其他所有内容都消失在后台?我们能用这个表格做一个exe吗 什么是MDE?否。这在MS Access中是不可能的 您需要创建一个VB/VB.NET可执行文件并在那里重新实现您的UI代码,数据连接指向Access数据库后端。您不能像其他人所说的那样从Access数据库生成EXE,但您可以在很大程度上隐藏您的应用程序是用Access编写的这一事实。例如,你可以 添加自定义启动屏幕 要

我希望用户认为他使用的是常规winform,但在后端,我希望access能够处理DB内容

是否可以只使用访问表单,让其他所有内容都消失在后台?我们能用这个表格做一个exe吗


什么是MDE?

否。这在MS Access中是不可能的


您需要创建一个VB/VB.NET可执行文件并在那里重新实现您的UI代码,数据连接指向Access数据库后端。

您不能像其他人所说的那样从Access数据库生成EXE,但您可以在很大程度上隐藏您的应用程序是用Access编写的这一事实。例如,你可以

  • 添加自定义启动屏幕
要做到这一点,只需将BMP文件保存在与数据库相同的文件夹中,并使用完全相同的文件名,即MyDatabase.BMP。当access启动而不是看到access启动屏幕时,您将看到自定义屏幕

  • 更改任务栏图标
在数据库上,转到“工具启动”并将应用程序图标更改为您选择的图标

  • 更改窗体上的图标
您可以将表单上的图标从标准access更改为任何您喜欢的图标,将此代码粘贴到模块中

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
然后,您可以在forms OnOpen事件中这样调用它

SetFormIcon Me.hwnd, (“C:\Stuff\NewIcon.ico")

可能是有史以来关于访问的最常见问题。我想你没听说过谷歌吧?为什么对运行时一无所知?如果.NET应用程序可以依赖于中安装在计算机上的文件的MB来运行,那么除了EXE扩展名外,Access运行时为什么会不完全相同?