This kind of thing is not simple to do. You will probably need to attack it
a bit at a time, until you have all your fields populated.
The first stage might to be get some system to the data. Use an Update query
to replace commas in this FullAddress field with spaces, i.e.:
Replace([FullAddress], ",", " ")
Then another Update query to get rid of double-spaces, i.e. update this
FullAddress field to:
Replace([FullAddress], " ", " ")
You can now determine how many spaces there are in the field with:
SpaceCount: Len([FullAddress) - Len(Replace([FullAddress], " ", "")
Now you know how many components there are to the address. Look at the data,
and decide whether to attack from the front or the back, i.e. if most
addresses have a Housenumber+Direction+Street you can go forwards, but if
most end with StreetType+City+Zip+State, it might be easier to come in
backwards.
Use a function like this to parse a word from the FullAddress field:
http://allenbrowne.com/func-10.html
Populate the true fields with the data, and use Left(), Mid(), Right()
Len(), and Instr() to chop that data off the FullAddress. Keep going until
you have the fields populated correctly.
(Update is on the Query menu in query design.)