Keine Angst...das kommt mir bekannt vor...ich hab nämlich auch so angefangen...
Learning by doing...
Wenn du im Else-Zweig deine Werte in Float umwandelst, dann müssen auch alle String-Variablen eine Zahl enthalten, ansonsten kommt dieser Konvertierungfehler!
Eine Notlösung wäre den String-Variablen den Wert '0' zuzuweisen, bevor du ihnen einen anderen Wert gibst... Oder du nimmst Variablen vom Typ Float und machst
Query.Fields[0].AsFloat -> is günstiger
Somit steht zumindest immer eine 0 drin...