1
我有一個Microsoft Access 2000數據庫。有一個類型的模塊聲明:調用從VB.NET代碼返回UDT的Access Interop函數拋出錯誤
Type MyTestType
Something As String
End Type
還有一個返回上述類型的函數:
Function MyTestFunction() As MyTestType
Dim a As MyTestType
MyTestFunction = a
End Function
我試圖函數的調用從.NET 4.0控制檯自動化使用VB.NET的應用程序。我有一個方法如下:
Sub ProcessAccessFunction()
Dim access As New ApplicationClass()
Try
access.OpenCurrentDatabase("c:\MyTestFolder\MyTestDatabase.mdb", False)
Dim result = access.Run("MyTestFunction")
Finally
access.Quit(AcQuitOption.acQuitSaveNone)
End Try
End Sub
但是,我收到一個錯誤,指出「該值不在預期範圍內」。我需要做什麼才能在我的VB.NET應用程序中成功接收對象?
我知道返回一個字符串的作品。有什麼方法可以導出UDT,以便我的.NET應用程序知道它們? – CamronBute 2013-04-23 14:06:59
@CamronBute,據我所知,沒有。將原始內存數據轉換爲已經在.Net應用程序中定義的類型是可能的,但它可能會非常複雜和脆弱,並且可能會花費更多的努力。您可以嘗試將數據「序列化」爲一個字符串,並將這些數據重新組合到.Net對象/ VBA代碼中,但您只會傳遞副本,效率不高。 – 2013-04-27 03:50:48