powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей в поле таблицы *dbf и нумерация
10 сообщений из 10, страница 1 из 1
Удаление записей в поле таблицы *dbf и нумерация
    #37061796
kostyaVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите какой командой из FoxPro удалить все зиписи ячеек в определенном поле <Ndoc> файла Tabl.dbf и после выставить нумерацию в этомже поле, по возрастанию?
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37061800
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kostyaVFP,

занафега?
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37061873
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kostyaVFPПодскажите какой командой из FoxPro удалить все зиписи ячеек в определенном поле <Ndoc> файла Tabl.dbf и после выставить нумерацию в этомже поле, по возрастанию?Например, так:
1) blank all field <Ndoс>
2) repl all <Ndoс> with recno(),
если нумерация нужна строго по порядку, то таблицу нужно сканировать и ставить счетчик
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37061985
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbikkostyaVFPПодскажите какой командой из FoxPro удалить все зиписи ячеек в определенном поле <Ndoc> файла Tabl.dbf и после выставить нумерацию в этомже поле, по возрастанию?Например, так:
1) blank all field <Ndoс>
2) repl all <Ndoс> with recno(),
если нумерация нужна строго по порядку, то таблицу нужно сканировать и ставить счетчик

занафега нумерация нужна строго по порядку?
тем более по физ.номеру записи?
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063723
kostyaVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igorbik, этот файл "Tabl.dbf" из рабочей проги. Созданные юзером записи будут нумероваться. Поле для нумерации Ndoc. Смутно припоминаю, вроде както с replase заменить Ndoc<0 c с учетом всех строк +1 после каждой. Нужена однако счетчик придумывать, а как?
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063751
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kostyaVFPзаменить Ndoc<0 c с учетом всех строк +1 после каждой

зачем?
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063758
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kostyaVFPigorbik, этот файл "Tabl.dbf" из рабочей проги. Созданные юзером записи будут нумероваться. Поле для нумерации Ndoc. Смутно припоминаю, вроде както с replase заменить Ndoc<0 c с учетом всех строк +1 после каждой. Нужена однако счетчик придумывать, а как?

n=1
select tabl
scan for not deleted()
replace ndoc with n
n = n+1
endscan
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063766
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbikkostyaVFPigorbik, этот файл "Tabl.dbf" из рабочей проги. Созданные юзером записи будут нумероваться. Поле для нумерации Ndoc. Смутно припоминаю, вроде както с replase заменить Ndoc<0 c с учетом всех строк +1 после каждой. Нужена однако счетчик придумывать, а как?

n=1
select tabl
scan for not deleted()
replace ndoc with n
n = n+1
endscan

запусти копию среды.
открой табличку повторно
и в броузе наступи на какую-нить запись.
попытайся выполнить свой код из другой копии среды разработки.
(моделирование коллизии в многоп-й среде).

доложи результат.

занахрена давать тупые советы?
тем более, что ты тупо написал кучу команд вместо одной скл-команды.
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063908
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kostyaVFPigorbik, этот файл "Tabl.dbf" из рабочей проги. Созданные юзером записи будут нумероваться. Поле для нумерации Ndoc. Смутно припоминаю, вроде както с replase заменить Ndoc<0 c с учетом всех строк +1 после каждой. Нужена однако счетчик придумывать, а как?
Ну, предположим, у Вас отображено 5 записей пронумерованных, соответственно, от 1 до 5. Теперь Вы хотите удалить запись, скажем, с номером 3. У Вас остались номера: 1, 2, 4, 5. Чтобы снова сделать непрерывную нумерацию необходимо в записях, номер которых больше, чем номер у удаляемой записи (4 и 5) уменьшить номер на 1. Вот, собственно, этот алгоритм и реализуется

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
* Где-то в главном (стартовом) файле должна быть сделана глобальная настройка
SET DELETED ON

* Собственно код удаления

* Перед удалением записи запоминаем ее порядковый номер
lnNDoc = MyTable.Ndoc

* Удаление записи
select MyTable
delete

* Перенумерация записей, с номерами больше удаленной
replace for Ndoc > m.lnNDoc ;
	NDoc with NDoc -  1 

* Перехожу на первую запись
go top
...
Рейтинг: 0 / 0
Удаление записей в поле таблицы *dbf и нумерация
    #37063930
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Вот, собственно, этот алгоритм и реализуется


пытаюсь выяснить зачем?

Вам не кажется странным менять номера документов?
И не кажется ли Вам, что вопрос
задает новичек, для которого номер документа - это скорее всего его идентификатор?

гы, Вы, Владимир забыли ему упаковать табличку, - счаз он об этом нам начнет кричать.

может все-же подождем ответа от афтора,
или сдесь даются ответы студентам,
которым "и так сойдет"?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей в поле таблицы *dbf и нумерация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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