A family of Microsoft relational database management systems designed for ease of use.
For question 1, you'd do something like:
=Left([YourFieldName], InStr([YourFieldName],"-")-1)
For question 2, you need to create a VBA procedure to do what you need in which you will utilize functions like Split(), Mid(), InStr(), InStrRev(), Left(), Right(), ...
The bigger issue here is why is such a string being stored in your db in the first place? Each component should be stored in its' own field, and you can concatenate them as required to display them however you need on your forms, queries, reports,... This is a fundamental flaw in design that you should addressed before moving forward. It will continue to cause you headaches (refer to questions 1 & 2) until you do.