Wenn alle IDs integer sind, ist das ja auch in Ordnung. Beschränk Dich doch erstmal auf eine Bedingung, füge dann die nächste hinzu usw., bis der Fehler auftritt. Dort kontrollierst Du dann noch einmal die Datenypen.
also ich habe jz :
Query1.SQL.Add('SELECT Inventarnummern.Inventarnummer, Geratetyp.Typ FROM Inventarnummern, Geratetyp WHERE Inventarnummer = "'+(nummer)+'" AND Geratetyp.ID = Inventarnummern.Geratetyp');
und da kommt die mismatch-fehlermeldung
lg