OK, this is fixed - Value is among many others, a reserved word which isn't usable in SQL. Changed the field name and it's fine now.
Instead of renaming the field, you can enclose it in quotes:
SELECT Sum ( \"value\")
many of us simply enclose all table and field names in quotes like this rather than play trial and error games with the function to figure out which one needs quotes to eliminate the dreaded ? result.