Do you have references set to both the ADO and DAO libraries? If so, then the line
Private mrst as Recordset
is ambiguous, as it could be either an ADO or DAO recordset. The type mismatch error indicates that the compiler thinks mrst is an ADO recordset, when it should be a DAO recordset. You can fix this by either changing the priority of the references (the ugly way), or by declaring the recordset like this:
Private mrst as DAO.Recordset