![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связи [D5, Paradox]
kay © (2002-06-01 14:14:00)Народ Please Help, очень надо! У меня есть таблица Table1 и связанная с ней таблица Table2.
Так вот при осуществлении поиска в Table2, поиск происходит только относительно одной записи таблици Table1, активной в данный момент.
Как мне сделать поис по всей таблице Table2?
И в дальнейшем чтоб запис в Table1, которой будет соответствовать найденная запись в Table2, стала активной?
Anatoly Podgoretsky (2002-06-02 09:49:00) [1]Вот сейчас нормальный алгоритм, а отключение связей дает глюки и грубо по хакерски
kaif (2002-06-02 00:30:00) [2]В общем, я думаю:
1. нужно делать поиск в отдельном компоненте.
2. позиционировать Table1, куда надо, зная значение ключа из первого поиска.
3. окончательно позиционировать Table2, делая еще один поиск.
Или я просто не понимаю, о чем идет речь...
Anatoly Podgoretsky (2002-06-01 16:19:00) [3]kaif © (01.06.02 15:26)
Пимер неудачный, это поиск, делается по второй таблице, со связью на первую, или вообще без связи
А делать отключение связей в вышеприведенной схеме, и идеологически неверно и соответствующие проблемы
kay (2002-06-01 15:39:00) [4]>kaif © (01.06.02 15:26)
Поиск по Table2 проходит успешно. Но запись в Table1 не становится активной, при Table2.MasterSource := DataSource1, активной становится та, запись, которая была активной до этого, а мне именно нужно сделать активной запись, соответствующую поиску в Table1?
kaif (2002-06-01 15:26:00) [5]>2 Anatoly Podgoretsky © (01.06.02 15:18)
не всегда так.
Например, у человека список накладных с позициями и он хочет (очень редко, правда) найти накладную с какой-то совершенно определенной позицией. Тогда получится примерно то, что спрашивающий хочет.
Хотя я согласен, что лучше иметь отдельный интерфейс для такого поиска со связью "наоборот". А что, если таких накладных несколько?...
Anatoly Podgoretsky (2002-06-01 15:18:00) [6]Связь в неправильном направлении
kaif (2002-06-01 15:08:00) [7]Нужно отключать на время связь Master-Detail, например, присваивая Table2.MasterSource := nil.
Затем делать Table2.Locate.
Затем делать Table1.Locate и опять восстанавливать связь Master-Detail:
Table2.MasterSource := DataSource1.
Чтобы все это не мигало 10 раз можно попытаться все это обрамить методами
Table2.DisableControls
...
Table2.EnableControls
Одним словом, поэкспериментировать немного нужно.
------------------
Хотя можно вообще иначе:
Отдельно в некоем Table3 или в Query найти то, что нужно,
а затем сделать соответствующий Table1.Locate.
Я бы так поступил.