![]() |
|
|
![]()
|
|
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Мастера, подскажите, в чем проблема. Я использую базу Access и в Delphi 6 подключаюсь через ADO. У меня есть две связанные таблицы отношением один ко многому. Я в базе Access создал два запроса:
1.отображать все из таблицы 1 2.отображать все из таблицы 2 и в Delphi подключил эти запросы как таблицы и установил между ними связь. Все работает без проблем. Но когда я произвожу в связанный таблицы поиск то он не работает. Т.е. Tab2.Locate('Имя Поля', текстовая переменная поиска, [loCaseInsensitive]) Я ввожу текст который точно присутствует в таблице, а мне сообщается, что его нет. И самое главное, с русскими символами работает без проблем, а с английскими работать отказывается. Когда я выполняю то же самое в таблицы 1 все работает? Не знаете, в чем тут проблема? Это сообщение отредактировал(а) kirilllius - 7.3.2005, 13:54 |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 2 Всего: 7 |
Нет, не знаю. Я ищу с помощью запросов используя квери и тебе того же советую. Намного гибче и красивее получается.
|
|||
|
||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
т.е. ты делаешь запрос на то, что ты хочешь найти? хороший вариант, попробую.
|
|||
|
||||
| DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
Один к одному говоришь.... то есть на одну активную запись в Table1 одна запись в Table2.
если так то:
Tabel1_ID- вторичный ключ. Вот только не пойму зачем тебе Locate, в результате все равно найдется одна запись, и Query возвратит одну запись (если конечно на вторичный ключ завязываться)... не проще объединить таблицы??? Добавлено @ 09:34 сори с синтаксисом начудил...
вроди так... Добавлено @ 09:37 да что за [censored 6] фигня!!! Tabel2.Locate(' Name;Tabel1_ID; ', VarArrayOf [(' строка поиска... ', Table1.FieldByName('ID').AsString)], []'); |
||||
|
|||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Нет, отношение ни один к одному, а один ко многому. Но идею твою понял, запрос для поиска. Действительно, идея хорошая.
|
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
Извиняюсь... и как я прочитал "один к одному"???
Стормозил вобщем. Тогда тот локейт что я предложил вполне подойдет эсли использовать TTable. |
|||
|
||||
| bursa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 25.2.2005 Где: Липецк Репутация: 1 Всего: 1 |
Т.е., как я понял, нет этих записей в данной выборке. Тогда на время отключаешь связь MasterSource:=nil; делаешь поиск в "связанной" таблице ищешь в родительской ключевое значение ставишь Mastersource обратно ну и еще раз поиск в связанной |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |