Ich vermute mal, dass du Access als "Datenbank" verwendest. Allerdings ist es egal, da fast alle DBMS Subqueries in INSERT-Anweisungen unterstützen.
Also dein Hauptproblem liegt vermutlich daran, dass du die Subquery (SELECT kat_id from fehler_kat ...) und die VALUES Klauseln zusammen verwenden möchtest.
Das geht meines Wissens nicht so einfach.
Außerdem darf die Select-Anweisung nicht in Anführungszeichen stehen.
Es gibt aber eine einfache Möglichkeit:
== VERWENDE NUR EINE SUBQUERY: ==
INSERT INTO Tabelle2 ( ID, Feld1 )
SELECT Tabelle1.ID, "Freier Text"
FROM Tabelle1;
In deinem Fall also:
INSERT INTO fehler (fehler_id, raum_id, geraete_id
, kat_id, meldedatum, lehrer, status, bearbeitungsbemerkung)
SELECT '','A003', 'A003-03', kat_id, now(), 'Tolles', 'Offen','Toll'
FROM fehler_kat
WHERE kat_beschreibung = 'Maus kaputt'
Achtung: Gibt es mehrere Datensätze mit kat_beschreibung, so werden auch mehrere Datensätze einfgefügt (id-Nummer wäre besser!!!)
Ich hoffe es hilft dir weiter