powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с переходом указателя в связанных таблицах
7 сообщений из 7, страница 1 из 1
Проблема с переходом указателя в связанных таблицах
    #33131193
Tassadar77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма, на ней 2 combobox-а и grid и 3 таблицы связанные между собой так:
table1.id - table2.id ; table2.id2 - table3.id2

1combobox связан с полем из table1
2combobox связан с полем из table2
grid с полями из table3

Почему при выборе значения в 1combobox - в 2combobox и в grid не отсееваются записи c не совпадающими id и указатель в таблицах table2 и table3 не переходит на первую запись с таким же id?
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131217
Tassadar77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю пример
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131225
Tassadar77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извеняюсь, пример не полный :) Вот полный.
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131379
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По многим причинам. Вкратце, объект ComboBox автоматически этого не делает. Не для того он предназначен.

Если бы вместо 2 ComboBox и 1 Grid ты положил бы 3 Grid, то и получил бы нужный тебе эффект. А в том виде, в котором ты хочешь придется дополнительно программировать нужную реакцию при каждом выборе в ComboBox.

Простейшее решение (но не совсем та реакция, что нужна, но близко):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
* В событии формы Init
select marks
select models

* В событии ComboBox1.Valid()

select marks
select models

* В событии ComboBox2.Valid()

select models

Т.е. для того, чтобы связь работала нужно явно перейти в главную таблицу.
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131399
Tassadar77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Все в принципе работает, кроме связи между двумя combobox-ми.
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131506
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз. Объект ComboBox не предназначен для поддержания связи между таблицами. У него другая цель и способ работы.

Если в качестве источника данных для ComboBox указаны поля таблицы, то и будут использованы все доступные записи этой таблицы. Ограничиваются записи явным указанием фильтра (SET FILTER, SET KEY, SET DELETED). SET RELATION в даннм случае игнорируется.

Вам надо переписать логику работы или вместо ComboBox использовать Grid.

Если хотите остаться с ComboBox, то придется отказаться от связи и при выборе значения явно накладывать фильтры на подчиненные таблицы.

Код: plaintext
1.
2.
3.
4.
5.
6.
* В событии ComboBox1.Valid()
select models
SET FILTER TO markid = marks.markid
GO TOP
ThisForm.Combo2.Requery()
ThisForm.Combo2.Refresh()

При этом надо удалить связь между таблицами marks и models иначе будут странные эффекты при переходе из Combo2 в Combo1
...
Рейтинг: 0 / 0
Проблема с переходом указателя в связанных таблицах
    #33131518
Tassadar77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо ВладимирМ. Решел проблему с помощью фильтров, но подумал и решил воспользоваться вашим советом и реализовал все через grid-ы, еще раз спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с переходом указателя в связанных таблицах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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