Для начала - посмотреть, что получается в итоге в переменной str.
На вскидку - значение поля [Цена] - заключено в кавычки,
А значение поля [Название] - нет.
Второе.
очищается ли SQL перед вызовом этой функции?
Может сразу
Код:
form69.ADOQuery1.SQL.Text:=str;