Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Foxpro/Clipper/Dbase > Суммирование в FoxPro |
Автор: MrsPasynkova 26.4.2015, 19:29 |
Всем доброго времени суток! Вот такой вопрос: У меня есть на форме Spinner1, в котором при запуске будет прописано число, и есть текущее значение поля в таблице. В общем, нужно как-то прописать в коде, чтобы к текущему значению в таблице прибавлялось число из spinner'а. У меня есть вот это: UPDATE Login SET account = account + (thisform.Spinner1.Value) ; WHERE login.login=thisform.combo1.Value; Что здесь не так? Как сделать, чтобы работало? Помогите, пожалуйста. Предметная область: интернет-провайдер. login - это логин пользователя. Форма действует так: выбираем логин в комбобоксе, прописываем в спиннере число, и оно прибавляется к балансу пользователя, то есть выполняется пополнение счета. Со связями таблиц всё в порядке. |
Автор: vvjvvj 29.5.2015, 10:21 | ||
stor "содержимое таблицы (поле баланс пользователя) to _bal (переменная) stor thsform.spinner1.value to _bal_spin _bal= _bal+_bal_spin repl "содержимое таблицы (поле баланс пользователя) with _bal типа так. |
Автор: Akina 29.5.2015, 10:51 | ||
Точка с запятой в первой строке. Убрать.
Добавлено @ 10:52 Ещё лучше - сначала соберите запрос в текстовую переменную, и посмотрите, что он получился валидным, подстановки выполнены верно, в т.ч. с учётом типов. |
Автор: Данкинг 23.7.2015, 01:57 |
Зачем убирать: на фоксе это перенос на другую строку. |
Автор: Cashey 19.8.2015, 20:14 |
Во первых, значение Value имеет текстовый тип, как я понимаю из описания задачи, поле account - числовое. Какой эффект вы ожидаете при сложении чисел и букв? Во вторых, значение Value имеет пробелы до конца, установленной в свойстве MaxLength, длины строки. Для корректного сравнивания надо обрезать пробелы alltrim(thisform.combo1.Value) А вообще хорошо бы в таких случаях писать текст ошибки. |