【发布时间】:2016-08-28 04:24:02
【问题描述】:
Imports Microsoft.Office.Interop
Imports System.IO
Imports Access
Public Class Form1
Dim AccessApplication As Microsoft.Office.Interop.Access.Application
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AccessApplication = New Access.Application()
If Not AccessApplication.Visible = True Then
AccessApplication.Visible = True
End If
AccessApplication.OpenCurrentDatabase("C:\POS\POS.lib", False)
End Sub
End Class
我正在尝试从 vb.net 2013 打开“C:\POS\POS.lib”,但出现错误“System.AccessViolationException”,我尝试了很多方法来修复它但没有奏效: 出现错误就行了
AccessApplication.OpenCurrentDatabase("C:\POS\POS.lib", False)
这是完整的错误:
在 PosStartup.exe 中出现“System.AccessViolationException”类型的未处理异常
附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。
这是文件标志:
【问题讨论】:
-
您确定
POS.lib文件是正确的MS Access 数据库吗?因为通常是 *.accdb 或 *.mdb 扩展名... -
出于特定目的,我将其从 .accdb 更改为 .lib,有什么方法可以打开 "C:\POS\POS.lib" 吗?
-
您的数据库密码是否受保护?也许它已经在另一个应用程序中打开了?当您将其重命名回 .accdb 时,它会打开吗?
-
对不起,它是.mde,重命名为POS.mde后,错误仍然出现!有什么建议吗?
-
你的数据库文件有密码保护吗?