Fill percentage of total field with MS Access SQL
You need UPDATE, not INSERT:

UPDATE MyTable
SET F = f / (SELECT SUM(f) AS fSum FROM MyTable) ;


or:

UPDATE 
    MyTable AS my,
    (SELECT SUM(f) AS fSum FROM MyTable) AS total
SET my.F = my.f / total.fSum ;


As mendosi commented, having two columns with same name in different (upper/lower) case, like f and F is not recommended in any DBMS and (not sure) probably not even allowed in Access.



The above statements however do not work in version 2013. I think they worked in old (1997) version but some change in the Jet engine (3.5? 4.0?) made the queries throw error instead.

Using the DSUM() function instead, to do the summation, works:

UPDATE MyTable
SET F = f / DSUM("f", "MyTable") ;