powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (VFP) Опять про релейшины
11 сообщений из 11, страница 1 из 1
(VFP) Опять про релейшины
    #32942869
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я задавал уже вопрос про это. По советам ничего не получилось.
И так.
Имеется форма. В ДЕ формы два курсора. Один курсор парент, другой чайлд.
Они соединены релейшином у которого childorder=idklient,relationexpr=id
У парент курсора order=fio, у чайлд курсора order=idklient.
В форме все работает, т.е. у каждой записи парента свои чайлд записи.
Но мне нужно, чтобы чайлд записи были отсортированы по id desc.
т.е. последняя добавленная запись чайлд курсора была первой.

PS. Это надо проделать в VFP7
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32942975
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че только смотрите!!!
Помогите уже...
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32943129
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но мне нужно, чтобы чайлд записи были отсортированы по id desc.
Сдклать индекс не по idklient а по idklient+id desc, задать для этого tag-а порядок DESCENDING, правда придется отказатся от автоматической связи в DE и задавать ее руками по SET RELATION
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32943170
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты считаешь, что люди только и сидят в конфе, в надежде ответить на чей-то вопрос? Всего пол-часа прошло!

Надеюсь, ты читал вот это:

Раздел "Связи и отношения между таблицами"
http://www.foxclub.ru/kb/index.php?sid=35321&aktion=artikel&rubrik=004&id=103&lang=ru

Записи в подчиненной таблице отсортированы по индексу idklient. Т.е. расположены в соответсвии с этим ключем. В твоем случае в пределах одного значения id записи будут следовать в порядке их физического создания. Чтобы это изменить нужно сделать составной индекс. Что-то вроде

idklient + "признак сортировки внутри одного id"

Весь вопрос в том, что это за признак. Проще всего использовать ключевое поле этой таблицы, если оно строится по типу автоинкремента. В этом случае записи имеющие большее значение ключа были созданы позднее. Т.е. индекс будет вида:

STR(idklient)+STR(idChild)

Здесь я предполагаю, что idChild - это имя ключевого поля подчиненной таблицы и оно имеет тип Integer. idklient также имеет тип Integer.

Вот этот-то индекс и установи как childorder. Правда, в этом случае в качестве relationexpr надо указать STR(id). Связь ведь по символьному значению.

Чтобы связь шла по убыванию установи этот индекс как DESC

SET ORDER TO ... DESC
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32943234
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn>Но мне нужно, чтобы чайлд записи были отсортированы по id desc.
Сдклать индекс не по idklient а по idklient+id desc, задать для этого tag-а порядок DESCENDING, правда придется отказатся от автоматической связи в DE и задавать ее руками по SET RELATION

А без отказа от ДЕ нельзя?

В вопросе обратите внимание на ДЕ.
ручками все получается отлично. А вот как сделать это на ДЕ?
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32943257
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilhom_uzА без отказа от ДЕ нельзя?

В вопросе обратите внимание на ДЕ.
ручками все получается отлично. А вот как сделать это на ДЕ?
А где ты прочитал, что надо отказаться от DataEnvironment? "Все дело в волшебных пузырьках" (с). В смысле, в особом индексе, который надо создать заранее.
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32945862
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Ilhom_uzА без отказа от ДЕ нельзя?

В вопросе обратите внимание на ДЕ.
ручками все получается отлично. А вот как сделать это на ДЕ?
А где ты прочитал, что надо отказаться от DataEnvironment? "Все дело в волшебных пузырьках" (с). В смысле, в особом индексе, который надо создать заранее.

Да все я понял... Все равно не идет...
Уважаемый, может просто пример накинете...
связные ключи пусть будут строковыми...

(Абра-кадабра исполни пожелания джин-ВладимирМ)
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32945939
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да пожалуйста. Пример написан в VFP6SP5.

Небольшой код есть только в Init-формы, поскольку я не знаю, как в DataEnvironment указать опцию DESC для выбранного индекса.

В Grid вообще нет никаких дополнительных настроек. Связь устанавлвивается только и исключительно в DataEnvironemnt.
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32948848
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ВладимирМ!

> Небольшой код есть только в Init-формы, поскольку я не знаю, как в
> DataEnvironment указать опцию DESC для выбранного индекса.

В VFP6 никак. Лишь в VFP9 появилось свойство OrderDirection.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32950342
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые!!! Спасибо Вам!!!
Но вся проблема оказывается в set exact.
Связывемые столбцы были типа character и следующего вида:
Парент: Id
Pr00000001
Pr00000002
Pr00000003
Pr00000004
....
чайлд: Id
Ch00000001
Ch00000002
Ch00000003
Ch00000004
Ch00000005
.....
В чайлде индекс qqq=idparent+id desc
связь parent.id->child->child.qqq
При set exact on не работает
При set exact off работает!!!

--------------
Теперь приходится следить за set exact в других кодах.
...
Рейтинг: 0 / 0
(VFP) Опять про релейшины
    #32950561
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, опять. Я даю ссылку, а ее просто игнорируют. Вы хоть сразу напишите, "пошел ты со своими ссылками" я и напрягаться не буду. Там между прочим есть такая фраза

Еще одна тонкость заключается в том, что связь можно настроить не по полному, а по частичному (по первым символам) совпадению ключа. Разумеется, если используется настройка SET EXACT OFF (это настройка по умолчанию).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (VFP) Опять про релейшины
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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