Вниз
Скачать: 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.009 c
3-88742
AndrewK
2002-06-03 17:43
2002.06.27
Вопрос по Crystal Reports


14-88991
artgamer
2002-05-20 23:19
2002.06.27
Девушки-геймеры (геймерши? :) и девушки-программистки


1-88935
Goblinus
2002-06-13 22:01
2002.06.27
2 небольших вопроса


1-88823
Darij
2002-06-17 05:47
2002.06.27
Запуск DLL из командной строки


1-88919
Teas
2002-06-09 19:07
2002.06.27
скроллер мыши в DBGrid




   Наверх