powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сканирование и замена значения в курсоре
4 сообщений из 4, страница 1 из 1
Сканирование и замена значения в курсоре
    #39710535
andrepont
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Имеется вот такое выражение
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT primen.*, n_plan_Izd.id_izd as Plan FROM primen INTO CURSOR TMP_primen Readwrite
SELECT TMP_primen
SCAN
SELECT n_plan_Izd
LOCATE FOR TMP_primen.id_izd = n_plan_Izd.id_izd
IF FOUND()
  replace TMP_primen.Plan WITH n_plan_Izd.&lcMonthPlan*TMP_primen.kol 
ENDIF
endscan


т.е. создаю курсор TMP_primen далее необходимо этот курсор просканировать и если значение поля TMP_primen.id_izd в курсоре и таблице n_plan_Izd.id_izd совпадут тогда поле Plan перезаписываем на результат выражения n_plan_Izd.&lcMonthPlan*TMP_primen.kol. Проблема в том что в результате выполнения в курсоре остается только одна строка (первая). В чем дело? Заранее спасибо.
...
Рейтинг: 0 / 0
Сканирование и замена значения в курсоре
    #39710543
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не так делается, почитай про язык SQL.

Код: sql
1.
2.
3.
SELECT primen.*, n_plan_Izd.&lcMonthPlan*primen.kol as Plan;
            FROM primen left join n_plan_Izd on primen.id_izd = n_plan_Izd.id_izd;
            INTO CURSOR TMP_primen Readwrite
...
Рейтинг: 0 / 0
Сканирование и замена значения в курсоре
    #39710544
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrepont Проблема в том что в результате выполнения в курсоре остается только одна строка (первая).
Должно остаться столько строк, сколько в таблице primen
...
Рейтинг: 0 / 0
Сканирование и замена значения в курсоре
    #39710651
andrepont
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T спасибо за помощь работает.
есть еще один вопрос имеется таблица detal и теперь уже вышеупомянутый курсор TMP_primen содержащий данные о плановом количестве.
Необходимо создать еще один курсор на основе таблицы detal и в нем напротив detal.id_det вывести сумму по полю plan из курсора TMP_primen для каждой детали. Пример:

таблица detal
id_det shifr_det 1 aaa 1 bbb
курсор TMP_primen
id_det id_izd Plan 1 3 10 2 1 9 1 4 12 2 5 3 2 8 1
в результате суммирования
курсор TMP_KNIGA
id_det shifr_det Plan 1 aaa 22 1 bbb 13
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сканирование и замена значения в курсоре
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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