powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Delete?????
8 сообщений из 8, страница 1 из 1
Delete?????
    #35466768
ИДА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем шалом!
У меня такая проблема. Совершенно элементарная команда delete. В 6-ки замечательно работала, а в 9-ки дурит со страшной силой.
Существует временная таблица. При работе в форме с ней проблем нет. То есть добавляет записи, делает расчет, удаляет записи и т.д. Но при добавлении ее в основную базу проблема.

set date to british
..
Select work_all
delete for dtts==thisform.text1.value
pack
append from tmp_all

dtts - тип поля DATE. thisform.text1.value - тоже DATE.
В базе tmp_all записи за определенное число. При входе в форму в нее select' ом отправляются данные за число thisform.text1.value из таблицы work_all.

Результат, увы, плачевный. Удаляются все записи. Не за заданное число, а все.
Почему??? И какой выход?
...
Рейтинг: 0 / 0
Delete?????
    #35466773
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Определиться с терминологией. База - совокупность таблиц. Один файл с данными - не база, а таблица.
2. Речь, как я понимаю, идет не о добавлении таблицы в базу, а о переносе записей из временной таблицы в основную.
3. Команда delete что-то ни у кого не глючит. И очень давно не глючит. В том числе и в 9-ке. Отсюда можно предположить наличие в коде, при чем не в том который тут показан, какой-то логической ошибки, приводящей к удалению всех записей.
4. Уже не очень много раз говорилось о пагубности частого применения команды Pack. В приведенном куске ее необходимость ее применения своершенно не видна. Может ее выкинуть? Или Вы не знаете как сделать невидимыми помеченные на удаление записи?
...
Рейтинг: 0 / 0
Delete?????
    #35466779
ИДА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, разумеется, речь идет о таблицах. Одна таблица добавляется в другую. Но мне какжется все-таки PACK нужно указать. Хотя чтобы в основной таблицы не было записей deleted(). А кусок именно этот. Ну совершенно на ровном месте. Удаление записей с условием, то есть по дате, и добавление записей.
...
Рейтинг: 0 / 0
Delete?????
    #35466784
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Чудес не бывает. Ищите ошибку. Или предоставляйте код демонстрирующий описанное поведение.
2. Упаковку таблиц обычно делают в служебной части программы. Один раз за какой-то период. В нерабочее время. А не на каждый чих. Чем значительно повышается скорость работы программы и уменьшается время отклика системы на действия пользователя, чем сильно снижается его нервирование.
...
Рейтинг: 0 / 0
Delete?????
    #35466794
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно!
А зачем для типа данных DATE использоват сравнение "==" ?
Ну я бы для начала поменял код на такой:
Код: plaintext
1.
2.
3.
4.
5.
LOCAL m.ldDtts
m.ldDtts = thisform.text1.value
DELETE FROM work_all WHERE dtts = m.ldDtts
INSERT INTO work_all ;
SELECT * FROM  tmp_all
....
С уважением, Алексей
...
Рейтинг: 0 / 0
Delete?????
    #35466802
ИДА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня код следующий:

SELECT tmp_all
SELECT DISTINCT * FROM tmp_all INTO CURSOR cursor123
ms=_tally
SELECT DISTINCT * FROM work_all WHERE work_all.dtts=thisform.text1.value INTO CURSOR cursor124
ms1=_tally
IF ms1>0
DELETE FROM work_all WHERE work_all.dtts=thisform.text1.value
pack
endif
SELECT work_all
APPEND FROM tmp_all FOR !EMPTY(tmp_all.kod_ms) AND !EMPTY(tmp_all.kod_dvj)
****************************************
SELECT tmp_all
SET INDEX TO
SELECT cursor123
use

Что не так?
...
Рейтинг: 0 / 0
Delete?????
    #35466814
ИДА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей! Вам огромадное человеческое спасибо! Отработала замечательно. Без сучка и задоринки. Спасибо и Вам Сергей.
...
Рейтинг: 0 / 0
Delete?????
    #35486398
ИДА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказалось, что вся проблема носит исключительно технический характер. Проблема с блоком питания. "Машина" рестартит, и таблицы "зачищаются" на корню. Удаляется все, вплоть до структуры базы. Но все равно. Огромное спасибо вам, Алексей, что помогли. Я новичок в VISUAL FOX PRO. Поэтому советы таких профи как вы, для меня очень важны. Спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Delete?????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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