Dim tx As New OleDbTransaction

Se scrivo così, non compila, dice:
'System.Data.OleDb.OleDbTransaction.Private Sub New(connection As System.Data.OleDb.OleDbConnection)' is not accessible in this context because it is 'Private'.

Ma in ogni caso questo: conn.BeginTransaction(IsolationLevel.Serializable) non dovrebbe restituire un istanza di un oggetto di tipo oledbtransaction? Se io lo metto dentra ad una variabile dichiarata di tipo oledbtransaction non dovrebbe dare problemi...