powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вместо кода вывести название в гриде
12 сообщений из 12, страница 1 из 1
вместо кода вывести название в гриде
    #32838199
olьka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста! в таблице клиентов в поле "населенный пункт" стоит код нас.пункта. Сами названия находятся в другой таблице. Как в гриде показать не код нас.пункта, а само название?
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838236
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свяжи табличку и справочник через RELATION по коду города и для соответствующей колонки укажи источником данных поле справочника.
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838597
olьka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я так делала... показывает для всех записей таблицы клиентов первую запись из справочника нас.пунктов:( у меня отношение один-ко-многим между этими таблицами установлено в базе данных. может, нужно еще где-то прописывать его?
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838703
kmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kmp
Гость
Побробуй в Column.ControlSource использовать какую нибудь свою пользовательскую функцию которая возвращает название, а саму функцию опиши в файле общих процедур.
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838783
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавчик.
После SET RELATION TO ...
SET SKIP TO <ChildTableName>
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838922
1.для справочника не должно быть отношения один-ко-многим
2.SET SKIP TO в данном случае совершенно не нужен

надо проверить индекс справочника, соответствует ли он установленному отношению
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32838984
gaol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olьkaя так делала... показывает для всех записей таблицы клиентов первую запись из справочника нас.пунктов:( у меня отношение один-ко-многим между этими таблицами установлено в базе данных. может, нужно еще где-то прописывать его?

Как это один ко многим? У Вас что, одному коду соответствует несколько населенных пунктов? Проверьте релляцию и не является ли справочная таблица по ошибке родительской.
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32839319
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>у меня отношение один-ко-многим между этими таблицами установлено в базе данных
Вот в INIT-е формы и пропишите SET RELATION TO ...
Либо в ControlSource колонки:
Код: plaintext
IIF(Seek(<имя_таблицы>.<код_в_справочнике>, '<алиас_справочника>'), <алиас_справочника>.<поле_наименование>, '')
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32843327
qwertyqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To burn - правильно.

Один ко многим - это от справочника(таблицы) нас.пунктов к таблице клиентов, а наоборот это один-к-одному(хотя можно многие ко многим, тогда будет первая запись каждой группы): каждой записи клиента одна запись нас.пункта. Поэтому SET RELATION TO ... при открытой ТЕКУЩЕЙ базе клиентов:
select <база клиентов>
*kk - клиент
*kod_n - код нас.пункта

SET RELATION TO kod_n INTO <база нас.пунктов>
*kod_n - код нас.пункта
*name - клиент

*<база нас.пунктов> должна быть проиндексирована (желательно уникально, но не обязательно) по связанному полю
*тогда перемещение указателя в <база клиентов> будет перемещать указатель в <база нас.пунктов>.
В init грида заполни RecordSource именем таблицы <база клиентов> - это указание гриду о ведущей таблице, т.е в какой таблице будет происходить перемещение при перемещении в гриде, ну а далее "SET RELATION TO ... into", будет перемещать в ведомой куда надо.

Для всего этого можешь использовать Data Enviroment.
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32845016
Oskars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Burn>у меня отношение один-ко-многим между этими таблицами установлено в базе данных
Вот в INIT-е формы и пропишите SET RELATION TO ...
Либо в ControlSource колонки:
Код: plaintext
IIF(Seek(<имя_таблицы>.<код_в_справочнике>, '<алиас_справочника>'), <алиас_справочника>.<поле_наименование>, '')


po mojemu luchse eto delatj s reljacijei pri v variante s iif() dumaju budet tormozitj..
togda ja bi sdelal vobshe sql zaprosom..

--
Oskars
Riga, Latvia
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32845133
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>dumaju budet tormozitj
Особых тормозов не замечал. Использование IIF() иногда позволяет строить достаточно сложные конструкции, когда простым RELEATION не обойтись
Хотя в исходном вопроск действительно их достаточно
...
Рейтинг: 0 / 0
вместо кода вывести название в гриде
    #32845285
olьka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БОЛЬШОЕ СПАСИБО ВСЕМ!!!!!!!!!!!!!!!!!!!!!!!!!!! ВЫ МНЕ ТАК ПОМОГЛИ... все получилось, как хотелось
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вместо кода вывести название в гриде
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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