Converted by http://www.developerfusion.com/tools/convert/csharp-to-vb/ Imports System.Data Imports DevExpress.Xpo.DB Imports DevExpress.Xpo.DB.Helpers Imports System.Data.OleDb Imports System.Threading Imports DevExpress.Persistent.Base Namespace WinSolution.Win Public Class MyAccessConnectionProvider Inherits AccessConnectionProvider Public Sub New(connection As IDbConnection, autoCreateOption As AutoCreateOption) MyBase.New(connection, autoCreateOption) End Sub Public Overrides Function ComposeSafeColumnName(columnName As String) As String Return MyBase.ComposeSafeColumnName(columnName).ToUpper(Thread.CurrentThread.CurrentCulture) End Function Public Overrides Function ComposeSafeTableName(tableName As String) As String Return MyBase.ComposeSafeTableName(tableName).ToUpper(Thread.CurrentThread.CurrentCulture) End Function Public Shared Shadows Function CreateProviderFromString(connectionString As String, autoCreateOption As AutoCreateOption, ByRef objectsToDisposeOnDisconnect As IDisposable()) As IDataStore Dim connection As IDbConnection = New OleDbConnection(connectionString) objectsToDisposeOnDisconnect = New IDisposable() {connection} Return CreateProviderFromConnection(connection, autoCreateOption) End Function Public Shared Shadows Function CreateProviderFromConnection(connection As IDbConnection, autoCreateOption As AutoCreateOption) As IDataStore If DirectCast(connection, System.Data.OleDb.OleDbConnection).Provider.StartsWith("Microsoft.Jet.OLEDB") OrElse DirectCast(connection, System.Data.OleDb.OleDbConnection).Provider.StartsWith("Microsoft.ACE.OLEDB") Then Return New MyAccessConnectionProvider(connection, autoCreateOption) Else Return Nothing End If End Function Public Shared Shadows Function GetConnectionString(database As String, userid As String, password As String) As String Return [String].Format("{3}={4};Provider=Microsoft.Jet.OLEDB.4.0;Mode=Share Deny None;data source={0};user id={1};password={2};", database, userid, password, DataStoreBase.XpoProviderTypeParameterName, XpoProviderTypeString) End Function Public Shared Shadows Sub Register() Try DataStoreBase.RegisterDataStoreProvider(XpoProviderTypeString, New DataStoreCreationFromStringDelegate(AddressOf CreateProviderFromString)) Catch e As ArgumentException Tracing.Tracer.LogText(e.Message) Tracing.Tracer.LogText("A connection provider with the same name ( {0} ) has already been registered", XpoProviderTypeString) End Try End Sub Public Overrides Function ComposeSafeConstraintName(constraintName As String) As String Return MyBase.ComposeSafeConstraintName(constraintName).ToUpper(Thread.CurrentThread.CurrentCulture) End Function Public Shadows Const XpoProviderTypeString As String = "MyMSAccess" End Class End Namespace