Вниз
Скачать: CL | DM;

Связи   Найти похожие ветки 

← →
kay   (2002-06-01 14:14) [0]

Народ Please Help, очень надо! У меня есть таблица Table1 и связанная с ней таблица Table2.
Так вот при осуществлении поиска в Table2, поиск происходит только относительно одной записи таблици Table1, активной в данный момент.
Как мне сделать поис по всей таблице Table2?
И в дальнейшем чтоб запис в Table1, которой будет соответствовать найденная запись в Table2, стала активной?


← →
kaif ©   (2002-06-01 15:08) [1]

Нужно отключать на время связь Master-Detail, например, присваивая Table2.MasterSource := nil.
Затем делать Table2.Locate.
Затем делать Table1.Locate и опять восстанавливать связь Master-Detail:
Table2.MasterSource := DataSource1.
Чтобы все это не мигало 10 раз можно попытаться все это обрамить методами
Table2.DisableControls
...
Table2.EnableControls
Одним словом, поэкспериментировать немного нужно.
------------------
Хотя можно вообще иначе:
Отдельно в некоем Table3 или в Query найти то, что нужно,
а затем сделать соответствующий Table1.Locate.
Я бы так поступил.


← →
Anatoly Podgoretsky ©   (2002-06-01 15:18) [2]

Связь в неправильном направлении


← →
kaif ©   (2002-06-01 15:26) [3]

>2 Anatoly Podgoretsky © (01.06.02 15:18)
не всегда так.
Например, у человека список накладных с позициями и он хочет (очень редко, правда) найти накладную с какой-то совершенно определенной позицией. Тогда получится примерно то, что спрашивающий хочет.
Хотя я согласен, что лучше иметь отдельный интерфейс для такого поиска со связью "наоборот". А что, если таких накладных несколько?...


← →
kay   (2002-06-01 15:39) [4]

>kaif © (01.06.02 15:26)
Поиск по Table2 проходит успешно. Но запись в Table1 не становится активной, при Table2.MasterSource := DataSource1, активной становится та, запись, которая была активной до этого, а мне именно нужно сделать активной запись, соответствующую поиску в Table1?


← →
Anatoly Podgoretsky ©   (2002-06-01 16:19) [5]

kaif © (01.06.02 15:26)
Пимер неудачный, это поиск, делается по второй таблице, со связью на первую, или вообще без связи
А делать отключение связей в вышеприведенной схеме, и идеологически неверно и соответствующие проблемы


← →
kaif ©   (2002-06-02 00:30) [6]

В общем, я думаю:
1. нужно делать поиск в отдельном компоненте.
2. позиционировать Table1, куда надо, зная значение ключа из первого поиска.
3. окончательно позиционировать Table2, делая еще один поиск.
Или я просто не понимаю, о чем идет речь...


← →
Anatoly Podgoretsky ©   (2002-06-02 09:49) [7]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-88946
zeos
2002-06-13 19:12
2002.06.27
Ошибка чтения INI файла.


1-88784
Янушка
2002-06-16 12:35
2002.06.27
Программа с двумя окнами


3-88774
mrgrin
2002-06-05 14:39
2002.06.27
Добавление BDE и Paradox в инсталляцию


3-88738
kserg@ukr.net
2002-06-04 11:04
2002.06.27
ADO - Срочно нужна помощь.


7-89056
michael_B
2002-03-31 20:17
2002.06.27
Как спрятать(скрыть) все ярлыки на рабочем столе?




   Наверх