Come ti diceva Alex c'è il problema dei Cognomi composti, dei nomi doppi, stranieri, dei doppi spazi fra nome e cognome eccetera.......
comunque nella ipotesi felice che sia tutto perfetto allora devi usare le funzioni InStr(...;..;...) e Left(....)
se hai una tabella di nome "T1" con 1 solo campo di Nome "NomCog" che
contiene appunto il Nome Cognome e qualcos'altro
SELECT
T1.NomCog,
InStr(T1.NomCog," ") AS PrimoSpazio,
InStr((InStr(T1.NomCog," ")+1),T1.NomCog," ") AS SecondoSpazio,
Left(T1.NomCog,8) AS SinFisso,
Left(T1.NomCog,((InStr((InStr(T1.NomCog," ")+1),T1.NomCog," "))-1)) AS RisultatoDesiderato
FROM
T1
;
Ma quanto sopra certamente non va bene, bisognera trovare altre soluzioni che in questo momento non immagino.
.