powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите сделать запрос!
3 сообщений из 3, страница 1 из 1
Помогите сделать запрос!
    #37581325
Zopo4ckA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно создать запрос на увеличение надбавки на % вводимый в поле
...
Рейтинг: 0 / 0
Помогите сделать запрос!
    #37581330
Zopo4ckA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_screen.ActiveForm.release()
DO FORM form1
USE lect IN C
SELECT C
word=VAL(thisform.text1.Value)
LOCATE FOR nadbavka<word
IF FOUND()=.T.
DO while !EOF()
replace nadbavka WITH nadbavka+nadbavka/100*VAL(thisform.text2.Value)
CONTINUE
ENDDO
ENDIF

не работает=(
...
Рейтинг: 0 / 0
Помогите сделать запрос!
    #37581484
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой-то код немного извращенный
Я так понимаю, что nadbavka задана в процентах, t1 и t2 - тоже в процентах, при этом надо увеличить на t2 процентов надбавки, которые меньше t1 процентов по величине? ТО есть если имеем надбавки {10, 20, 30, 40, 50}, t1=30, t2=20, то получим в результате {12, 24, 30, 40, 50}?

Вообще, можно действовать так:
Код: sql
1.
2.
3.
4.
5.
DO FORM form1
lnT1=VAL(thisform.text1.Value)
lnT2=VAL(thisform.text2.Value)
USE lect IN c
REPLACE ALL FOR nadbavka < lnT1 nadbavka WITH nadbavka * (1 + lnT2/100) IN lect


Если ваша версия Фокса поддерживает UPDATE-SQL, то еще проще:
Код: sql
1.
2.
3.
4.
DO FORM form1
lnT1=VAL(thisform.text1.Value)
lnT2=VAL(thisform.text2.Value)
UPDATE lect SET nadbavka = nadbavka * (1 + lnT2/100) WHERE nadbavka < lnT1
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите сделать запрос!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]