Euh... Elle est syntaxiquement fausse ta requête...
where id in (select ...) me semble mieu...
ou alors where exists(select ...) mais là je suis moins sûr de comprendre ce que tu veux faire...
dans tous les cas, Pannes.ID semble nécessiter d'être indexé (une clé primaire me semble une bonne solution ), et Histo_Appel bénéficierait d'un index sur id_panne et id_appel.
Mais à mon avis, si tu corriges simplement ta requête, Access devrait 1000 fois mieu s'en sortir.
PS: là pour moi, il met à jour chaque ligne de ta table Pannes autant de fois qu'il y a de "id_pannes" qui correspondent dans "Histo_appels" ayant pour appel_id 4412 ce qui me semble assez farfelu comme façon de procéder...
Essaie ça :
Update Pannes set descriptif='test2' where id_pannes in (select id_panne from Histo_appels where id_appel=4412)
Ca me semble plus correct...