我正在使用此代碼打開 ms 訪問資料庫:
public partial class Start_Baseet : System.Windows.Forms.Form
{
string MyFile = Environment.CurrentDirectory "\\Baseet.accde";
Microsoft.Office.Interop.Access.Application AccApp = new Microsoft.Office.Interop.Access.Application();
public Start_Baseet()
{
InitializeComponent();
}
public void OpenDb()
{
AccApp.Visible = true;
AccApp.OpenCurrentDatabase(MyFile, false, "017014a");
AccApp.RunCommand(AcCommand.acCmdAppMaximize);
}
private void Start_Basset_Load(object sender, EventArgs e)
{
try
{
OpenDb();
}
catch
{
AccApp.Quit();
MessageBox.Show("Missing Files", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
finally
{
this.Close();
}
}
}
它正在作業,但是當Finally執行This.Close打開的訪問資料庫的部分關閉時,如何在不關閉打開的訪問資料庫的情況下使用此代碼并關閉表單?謝謝
編輯#1:我使用了這個但仍然有問題
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Start_Baseet());
Start_Baseet frm = new Start_Baseet();
frm.Show();
}
Edit#2 我發現了另一個問題,我有兩臺 PC,第一臺運行 office 2016 32 位,另一臺運行 2016 64 位。我在除錯或發布 ms access 應用程式時開發此應用程式的第一個應用程式打開但資料庫Baseet.accde未打開。當我嘗試運行已發布的應用程式時,第二臺 PC 運行良好!為什么是這樣 ??!!
uj5u.com熱心網友回復:
從中洗掉表單Application.Run();并使用顯式打開表單frm.Show();
代替
Application.Run(new Start_Baseet());
利用
var frm = new Start_Baseet();
frm.Show();
Application.Run();
現在您必須使用Application.Exit();. 關閉表單將不再終止應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497035.html
