Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вычитание кол-ва нескольких записей, foxpro 9,0+sql 
V
    Опции темы
DANJAH
  Дата 3.12.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



суть проблемы такова! 

есть окно с таблицей склад! курсор из sql таблицы склад!
есть ниже вторая временная локальная таблица !

в локальную сбрасывается несколько записей из склада! 
далее при нажатии кнопки все записи должны попадать в таблицу продаж и должен происходить вычет со склада по количеству!


у меня все это делалось так в локальной БД

1.скидывалось в таблицу продаж! 
2.через DO WHILE EOF() проходил по каждой записи временной таблицы, при этом искало(SEEK) её же на складе и отнимая количество!
3.и очистка таблицы

я думаю что в сто раз можно это упростить! вот и спрашиваю можно ли?
PM MAIL   Вверх
Данкинг
Дата 3.12.2009, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Что значит упростить и что именно упростить? Куда проще, чем находить записи через SEEK ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DANJAH
Дата 3.12.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



ну как то пачкой можно это сделать? без поиска записей например! без DO WHILE сделать например отношение один ко многим! т.е. много записей из временной таблицы взять количество и вычесть из склада! чтобы это пачкой как то обрабатывалось что ли!
PM MAIL   Вверх
Данкинг
Дата 3.12.2009, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



А, ну, если попробовать связать две таблицы по уникальному полю только, а затем REPLACE'ом заменить.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DANJAH
Дата 3.12.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



точняк! буду пробовать! оченьхороший вариант! smile 

через SET RELATION ща попробую связать!

а как то дальше по коду если один к одному стоит связь, то получается надо REPLACE sklad.kolvo WITH sklad.kolvo-temp.kolvo

правильно я понял?
PM MAIL   Вверх
DANJAH
Дата 3.12.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



чо то не пойму как связь сделать между ними вручную! склад висит на SQL сервере! таблица темп на локальном компе! через чо их связать то и еще по уникальному полю!
PM MAIL   Вверх
Данкинг
Дата 3.12.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Так если открыть и вьюху и таблицу? Одну в области 5, другую - в области 10, к примеру. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DANJAH
Дата 3.12.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



с отношением вроде бы разобрался! 

при создании отношения он сам находит поля! реплэйс через DO WHILE опять делать или как? ничо не вкурю! 
PM MAIL   Вверх
DANJAH
Дата 3.12.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



вроде все получилось! smile спасибо большое за советы! smile очень признателен! smile
PM MAIL   Вверх
Данкинг
Дата 3.12.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Цитата(DANJAH @  3.12.2009,  16:01 Найти цитируемый пост)
реплэйс через DO WHILE опять делать или как?

Почему? Replace .... all - все записи и заменятся.

DANJAH, на здоровье. smile 

Это сообщение отредактировал(а) Данкинг - 3.12.2009, 18:42


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.