Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С редактированием разобратся бы помогли! :smile, редактирование таблицы 
V
    Опции темы
Ved
Дата 18.8.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 3.8.2006
Где: Хижина в Тетюшах

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



Первым делом объясню Уважаемые,
 к программированию на FOX pro ни какого отношения не имею

Работаю с программой которая разработана на нем!
Дело в том что мне надо в кротчайшие сроки исправить реестры, программно долго очень!
 
Вопрос:
Есть таблица допустим примерно 6000 строк мне надо из этой таблице допустим 2000 строк удалить удаляю я их так 
есть калонка p_nom в ней указаны порядковые номера этих строк я их выстраиваю от 1 до .... 
Код

index on p_nom to ff

ну вот так, и потом по списку отмечаю тех кого надо удалить, один такой реестр занимает как минимум один день ну и потом как бы все задачи не исчерпываются нужно еще некоторые строки править
так вот просьба не мог бы кто нибудь знающии подсказать кусочек кода который бы можно было просто вписать с теми цифрами там через запятую что-ли и они все бы отметились 
это бы сильно сократило время


Буду очень признателен smile 

Цитата

P.S.
Да модераторы не ругайте пожалуста меня, в раздел помощи надо было я знаю, просто мне надо то может малюсенький код, а потом бы она там просто на долгое время утонула бы


Это сообщение отредактировал(а) Ved - 18.8.2007, 09:25


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 3.8.2006
Где: Хижина в Тетюшах

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



Чота молчок, может я что то хочу на грани фантастики?
Просто я думаю что там можно какието условия поставить, ну что с такого по такое например числа становится задествованы!
Думаю что то та с масивом или же нет? smile 

Не в тему дайте хоть ссылку на книгу ну такую для начинающих, просто хочу эту проблему как можно скорее решить!

Это сообщение отредактировал(а) Ved - 20.8.2007, 11:05


--------------------
Я не волшебник, я только учусь!  smile 
PM MAIL   Вверх
utyf1982
Дата 28.8.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как вариант

Код

DELETE from (тут надо указать имя таблицы без скобок ) WHERE p_nom in (1,2,3,4,56,78)


то есть в скобках после in через запятую указываются номера строк 
только , по моему , за раз в скобках можно указывать не более 25 значений
хотя на счет количества могу ошибатся
PM MAIL ICQ   Вверх
Cashey
Дата 28.8.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



Цитата(utyf1982 @  28.8.2007,  13:23 Найти цитируемый пост)
как варианткод FoxPro1:DELETE from (тут надо указать имя таблицы без скобок ) WHERE p_nom in (1,2,3,4,56,78)highlightSyntax('foxpro_YTBjZG','foxpro');highlightSyntax('foxpro_YTBjZG','foxpro');то есть в скобках после in через запятую указываются номера строк только , по моему , за раз в скобках можно указывать не более 25 значенийхотя на счет количества могу ошибатся

и получить синтаксическую ошибку, классный вариант )))))
-1

правильно будет так:
Код

DELETE from (тут надо указать имя таблицы без скобок ) WHERE recno("таблица") > 2000

ну это если нет никаких иных условий для удаления


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
utyf1982
  Дата 31.8.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата Cashey    Дата 28.8.2007, 21:21
Цитата

правильно будет так:
Выделить всёкод FoxPro
1:
    
DELETE from (тут надо указать имя таблицы без скобок ) WHERE recno("таблица") > 2000

ну это если нет никаких иных условий для удаления 


Не могу сказать где сдесь будет ошибка если тип p_nom -numeric а вот ваш вариант судя по всему удалит все записи с порядковым номром по индексу больше 2000 ,что автору совершшенно не нужно ему нужно удалить около 2000 записей с номерами заданными им самим.

Добавлено через 9 минут и 18 секунд
to Ved 
как вариант того что вам нужно 
1 создаете таблицу с 1 полем по структуре идеентичным полю  p_nom пусть это будет t1
2 заполняете его номерами которые вам нужно удалить
3 тот же запрос только (щас выругаюсь) коррелированный

Код

DELETE from (тут надо указать имя таблицы без скобок ) WHERE p_nom in (select t1.p_nom from t1)



PM MAIL ICQ   Вверх
utyf1982
  Дата 31.8.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



совсем забыл если вам нужно их СОВСЕМ удалить то после все этой процедуры упаковываете вашу базу
Код

SET EXCLUSIVE ON 
use ? &&вибираете свою  таблицу
pack


PM MAIL ICQ   Вверх
Cashey
Дата 6.9.2007, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

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



Цитата(utyf1982 @  31.8.2007,  11:09 Найти цитируемый пост)
Не могу сказать где сдесь будет ошибка если тип p_nom -numeric

FoxPro не поддерживает такой синтаксис.

Из вопроса не очевидно, что требуется удалить какие-то конкретные записи, а не просто заданное их число.

Если нужно удалить записи по диапозону значения необходимо использовать ф-цию BETWEEN, если конкретные значения, то через ф-цию INLIST, но помня об ограниченном количестве параметров


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Ved
Дата 12.9.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 3.8.2006
Где: Хижина в Тетюшах

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



Cashey
utyf1982
Обоим особое спасибо за помощь вроде работает все тока многа цифр не проходят но все равно ништяк извините за долгую тишину, чота замаялся обоим ПЛЮСА за помощь благодарность для тебя большая Cashey, Тока я обоим плюса ставлю просто Кащей друг пытался помочь а ты его в минуса загнал! Так у него хоть ровно будет!
Тему пока решённой ставлю так как некогда но у меня остались пару вопросиков которые  надо обязательно задать! smile 


--------------------
Я не волшебник, я только учусь!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

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

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

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

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

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

Разрешено!

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

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

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



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

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


 




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


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

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