usaully when a query is unupdatable itn is because you have brought the primary key into the grid from the master or primary table.
for instance if you have a patient table and with a one to many relationship on an appointment table you may be displaying the Patient id from the patient table instead of the appointment table.
try switching the id'd in the query and see if this works