:: Visual Foxpro, Foxpro for DOS
browse append new record
glaz58
Автор

Сообщений: 812
Откуда: Воронеж
Дата регистрации: 09.02.2008
Уважаемые знатоки! Может быть кто-то знает хинт как при редактировании таблицы с помощью Browse добавить строку выше?
Ratings: 0 negative/0 positive
Re: browse append new record
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Ну вот как-то так наверное:
SELECT cur_test
BROWSE
GO 2
INSERT before blank
BROWSE
USE


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: browse append new record
AndyNigmatec

Сообщений: 1574
Откуда: Волгоград
Дата регистрации: 28.06.2015
осталось только понять зачем?

в таблицах-то по сути нет понятия номер записи (вернее он то есть, но не принято им пользоваться))))
Ratings: 0 negative/0 positive
Re: browse append new record
glaz58
Автор

Сообщений: 812
Откуда: Воронеж
Дата регистрации: 09.02.2008
Каратаев
INSERT before blank
Спасибо, то, что надо. Очень полезный хинт, а то приходилось дополнительно таблицу делать с одной строкой и к ней Append.
Ratings: 0 negative/0 positive
Re: browse append new record
glaz58
Автор

Сообщений: 812
Откуда: Воронеж
Дата регистрации: 09.02.2008
AndyNigmatec
по сути нет понятия номер записи
А как же функция Recno()?
Ratings: 0 negative/0 positive
Re: browse append new record
AndyNigmatec

Сообщений: 1574
Откуда: Волгоград
Дата регистрации: 28.06.2015
AndyNigmatec
(вернее он то есть, но не принято им пользоваться))))
Ratings: 0 negative/0 positive
Re: browse append new record
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Очень полезный хинт
Согласитесь, странно заставлять пользователя вводить записи строго в том порядке, в котором их потом надо видеть.
Ну, ошибется он однажды, и что дальше? Вам все равно придется обеспечивать ему возможность как-то переупорядочивать записи.
Поэтому даже при отсутствии полей, определяющих порядок вывода записей, я бы вместо использования физического порядка добавил в таблицу поле "номер по порядку" и создал по нему индекс - изменять значения полей - не то же самое, что физически переупорядочивать записи таблицы.
Ratings: 0 negative/0 positive
Re: browse append new record
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
Каратаев
INSERT before blank

Зачем учить детей нехорошему?
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
нормальный инсерт для фокса (. Только таблица д.б. открыта EXCLUSIVE, иначе не даст

> Зачем учить детей нехорошему? (BEFORE)
Леонид, иногда физический порядок важен, когда создаешь таблицу, которые ребята открывают в экселе, и должны видеть эту хапись, напиример, на том несчастном первом месте (или втором). Это хорошая команда и ее предикаты. Разрабы фокса в очередной раз молодцы.



Исправлено 1 раз(а). Последнее : of63, 11.04.23 23:19
Ratings: 0 negative/0 positive
Re: browse append new record
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
of63
Это хорошая команда и ее предикаты.
А что ты здесь называешь предикатами команды?
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ну, слово BEFORE, уподробители фразы, или... хз. я эти ключевые слова в SELECT-запросе (WHERE, FROM, TO) называю ьак, в уме я так их не называю, это и перевода не знаю этого слова "предикат"
Ratings: 0 negative/0 positive
Re: browse append new record
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
of63
Это хорошая команда и ее предикаты.

Такое можно написать только, если не знать, как эта команда работает
forum.foxclub.ru

В этом линке надо особое внимание обратить на эту цитату
Цитата:
If the table/.DBF has an index tag or index, the new blank record is placed at the end of the table/.DBF.
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Леонид, если она, таблица, и имеет индекс, но я открываю таблицу (EXCLUSIVE), не включая индекс (SET INDEX TO TAG ...вероятно), давно руками не писал вроде), то все вставляется не в ЕНД таблицы, а в ту точку RECNO (BEFORE или после бефоре), где я стою.

Доб. Забыл, может предикат (?) BLANK

Мы про фоксовую конструкцию говорим, надеюсь, а не про SQL-INSERT



Исправлено 2 раз(а). Последнее : of63, 12.04.23 00:59
Ratings: 0 negative/0 positive
Re: browse append new record
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
leonid
В этом линке надо особое внимание обратить на эту цитату
Цитата:
If the table/.DBF has an index tag or index, the new blank record is placed at the end of the table/.DBF.
Это было верно для FPD.

Сейчас, если не ошибаюсь, команда INSERT BLANK вообще выдаст ошибку при наличии подключенного индекса, что вообще исключает возможность использования структурного индекса, а неструктурный придется отключать перед INSERT BLANK (что приведет к необходимости его пересоздавать после добавления записи).

А если к этому добавить ещё необходимость в SET EXCLUSIVE ON и отключении буферизации, то можно сделать вывод:
INSERT BLANK годится для использования лишь в самых простых случаях (или наоборот, в каких-то экзотических).



Исправлено 1 раз(а). Последнее : akvvohinc, 12.04.23 02:59
Ratings: 0 negative/0 positive
Re: browse append new record
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
of63
если она, таблица, и имеет индекс, но я открываю таблицу (EXCLUSIVE), не включая индекс (SET INDEX TO TAG ...вероятно), давно руками не писал вроде), то все вставляется не в ЕНД таблицы, а в ту точку RECNO (BEFORE или после бефоре), где я стою.
Ты не можешь "не включить" структурный индекс - такой индекс подключается автоматически и не может быть закрыт никаким образом.
Если же речь о неструктурном индексе (кто-то ими ещё пользуется в реальном приложении?), то ты можешь открыть таблицу (монопольно) без него, отключить её буферизацию (если включена), добавить запись, но затем придется ещё выполнить реиндексацию.
В общем, такие действия годятся для работы в командном окне, не более того (или для какой-то своей, персональной таблички).

Но то примечание из Help, которое приводилось выше, касалось случая, когда таблица была открыта с индексом, но работало это лишь в FPD (возможно, и в FPW - почти не работал с этой версией).
Сейчас (VFP) при наличии подключенного индекса INSERT BLANK работать не будет вообще (или я не знаю, как её заставить это делать).
Ratings: 0 negative/0 positive
Re: browse append new record
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
leonid
Зачем учить детей нехорошему?
Ну... Бывают же разные ситуации. Я и не говорю, что это хорошо, но иногда бывает нужно, в каких-то исключительных случаях...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Сейчас (VFP) при наличии подключенного индекса INSERT BLANK работать не будет вообще (или я не знаю, как её заставить это делать).

"" Я не знаю о чем вы говорите, но ехать нужно ) анек

> при наличии подключенного индекса INSERT BLANK работать не будет
не обратил внимания (поскольку при экслюзивном открытии это по определени. должно работать. Может, тебе показалось, при включенном индекске, что добавленная запись "улетела" в нитуда. Не включай инддексы в этом режиме, че, не порти себе мировосприятие... )
Ratings: 0 negative/0 positive
Re: browse append new record
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
of63
не обратил внимания (поскольку при экслюзивном открытии это по определени. должно работать. Может, тебе показалось, при включенном индекске, что добавленная запись "улетела" в нитуда.
Мне не могла показаться ошибка, возникающая при попытке исполнения этой команды.

of63
при экслюзивном открытии это по определению должно работать
Определение было дано лишь в файле помощи FPD.
Но, как оказалось, один и тот же код по-разному отрабатывает в FPD и VFP.

of63
Не включай индексы в этом режиме
Научи, как не подключить структурный индекс.

А еще лучше - приведи пример кода, отрабатывающего без ошибки для таблицы, имеющей структурный индекс.



Исправлено 1 раз(а). Последнее : akvvohinc, 19.04.23 01:04
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Суров... )

А че там было у автора вопроса
> Уважаемые знатоки! Может быть кто-то знает хинт как при редактировании таблицы с помощью Browse добавить строку выше?
> Rate negative Rate positive Ratings: 0 negative/0 positive


Он знает? а я не знаю что делает Ctrl-N? Ctrln-O)

...выше - в какком сысле?
Ratings: 0 negative/0 positive
Re: browse append new record
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> А еще лучше - приведи пример кода, отрабатывающего без ошибки для таблицы, имеющей структурный индекс.

Серега! Ну, можно я не буду это экспериментировать. В конце концов имеют значение только реально решенные задачи, а не абстрактные детали, требующие практической проверки. Я стою за свой вариант, что наличие CDX не влияет на операции по модернизации таблички.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 20 (Гостей: 20)

© 2000-2024 Fox Club 
Яндекс.Метрика