Below is Graham Mandeno's version of VBA GetDBEngine(), now in VB.NET. If user have several versions of DAO installed this function returns reference to latest available.
1: Public Function GetDBEngine() As Object
2: Dim aVersions() As String = {"120", "36", "35"}
3: Dim i As Integer
4: GetDBEngine = Nothing
5: Try
6: For i = LBound(aVersions) To UBound(aVersions)
7: Try
8: GetDBEngine = CreateObject("DAO.DBEngine." & _ aVersions(i))
9: Exit For
10: Catch ex As Exception When Err.Number = 429
11: 'continue after "Cannot create ActiveX component"
12: Catch
13: Throw
14: End Try
15: If i = UBound(aVersions) Then _
Throw New System.Exception("No known version" & _ " of DAO is available")
16: Next
17: Catch ex As Exception
18: Throw New System.Exception("Cannot create " & _ "DBEngine" & vbCrLf & ex.Message)
19: End Try
20: End Function
No comments:
Post a Comment