.Net, VB 또는 C#에서 Access 2007을 자동화하는 데 문제가 있습니다. 내가하고 싶은 일은 .Net의 Access 모듈에서 서브 루틴을 호출하는 것뿐입니다..Net에서 액세스 모듈의 호출 루틴?
궁극적으로 VB에서 작동하도록해야하지만 동일한 결과를 얻으려고 노력하고 있습니다.
다음은 VB 테스트 양식의 코드입니다.
함께 System.Runtime.InteropServices.COMException (0x800A9D9F) : 그것은 오류가 발생 예외 HRESULT에서 : Microsoft.Office.Interop.Access.ApplicationClass.Run에서 0x800A9D9F (문자열 절차, ARG2을 &이며 Arg1 객체 & 개체, ..., Object & Arg30)
내 테스트 Sub는 "MyTest"이며 모듈은 "Module1"입니다. 테이블에 단일 레코드를 삽입하는 것뿐입니다. 그것은 Access 내에서 잘 실행됩니다. 나는 행운과 함께 "Module1.MyTest", "MyTest()", "MyTest 호출"등 다양한 순열을 시도했다.
Access (및 다른 Office 응용 프로그램) 자동화의 그물에서 다른 예제를 발견했지만 작동하지 않는 것 같습니다. 누군가가 나를 실용적인 예로 지적한다면 나는 감사 할 것입니다.
샘플 코드 다음의 InnerException (오류의 실제 이유를) 볼 수
Imports Access = Microsoft.Office.Interop.Access
Imports Microsoft.Office.Core
Public Class FormTest
Private Sub cmdTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTest.Click
Dim aa As New Access.Application()
Try
aa.OpenCurrentDatabase("c:\Test.accdb")
aa.Run("MyTest")
Catch ex As Exception
MsgBox(ex.ToString())
Finally
If aa IsNot Nothing Then
aa.Quit(Access.AcQuitOption.acQuitSaveNone)
End If
Me.Close()
End Try
End Sub
End Class
Access 2007의 트러스트 센터를 통해 MDB를 트러스트 위치에 추가했습니다. –
어떻게 했습니까? – CamronBute
@CamronBute [Access 2007에 대한 Microsoft의 지침] (http://office.microsoft.com/en-us/word-help/create-remove-or-change-a-trusted-location-for- your-files-HA010031999.aspx # BM11). –