Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 delete from poisktovara удаляетя и табл.sklad  [new]
longfast
Member

Откуда:
Сообщений: 36
у меня есть 2 таблицы, sklad и poisktivara. Мне нужно,чтоб очистилась таблица poisktovara и в нее же занеслись данные из таблицы склад sklad.Вот код.

SET DELETED ON
DELETE FROM poisktovara
insert into poisktovara (pole1,pole2,texxarakter,opisanie,part1,stoimz,stoimp,klv,nal) select nazvanie_tovara.kodtovara,nazvanie_tovara.naimtovara,nazvanie_tovara.texxarakter,nazvanie_tovara.opisanie,sklad.partiya,sklad.stoimzak,sklad.stoimpokup,sklad.kolvo,sklad.nalichie FROM nazvanie_tovara,sklad WHERE nazvanie_tovara.kodtovara=sklad.kodtovara and sklad.kodtovara=thisform.text1.Value
USE IN poisktovara
DO FORM poisk
thisform.Release

в итоге удаляет все данные из таблицы sklad и poisktovara. Почему удаляются данные из таблицы sklad???
17 дек 12, 23:01    [13646139]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
tanglir
Member

Откуда:
Сообщений: 28966
longfast
Почему удаляются данные из таблицы sklad???
В приведённом фрагменте кода удаления из таблицы "склад" впрямую не прописано; ищите в другом месте, например, в форме "поиск".
18 дек 12, 05:25    [13646572]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
tanglir
Member

Откуда:
Сообщений: 28966
longfast, ну вот зачем кросспостить-то?
18 дек 12, 05:26    [13646573]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
IgorNG
Member

Откуда: Москва
Сообщений: 956
longfast,

Наверное, текущая таблица склад.
А команды DELETE FROM не существует.
Есть
DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias] [NOOPTIMIZE]
18 дек 12, 09:42    [13647009]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
Jonny540
Member

Откуда:
Сообщений: 727
IgorNG
А команды DELETE FROM не существует.

Да неужто? А это тогда что такое:

DELETE SQL Command
DELETE [Target] FROM [FORCE] Table_List [[, Table_List ...] | [JOIN [ Table_List]]] ;
          [WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]

Другое дело, что ТС'у она на фиг не нужна, т.к. Select существующую таблицу перепишет и не подавится
Т.е. вместо delete+insert использовать select. Подробности в хэлпе.
18 дек 12, 10:11    [13647136]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
longfast
Member

Откуда:
Сообщений: 36
я разобрался где не работает. У меня получается,что если даные есть в таблице sklad, то всё работает. Если таких данных нет, то и sklad и poisk удаляются.почему так?
18 дек 12, 16:18    [13649623]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
В смысле -"почему"? У вас таблицы удаляются, что ли?

В sklad и так данных нет. В poisk данные отбираются из sklad - если в sklad нет данных, то отбирается пустое множество и замещает предыдущие данные в poisk - в poisk данных нет...
18 дек 12, 16:47    [13649853]     Ответить | Цитировать Сообщить модератору
 Re: delete from poisktovara удаляетя и табл.sklad  [new]
makar12
Member

Откуда:
Сообщений: 13
2 longfast,
Поставь в дебагере току останова на RecCount("sklad") или poisk.
18 дек 12, 16:48    [13649862]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить