Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Locate 
:(
    Опции темы
offline
Дата 7.3.2005, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
Bes
Дата 8.3.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Нет, не знаю. Я ищу с помощью запросов используя квери и тебе того же советую. Намного гибче и красивее получается.
PM MAIL   Вверх
offline
Дата 8.3.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



т.е. ты делаешь запрос на то, что ты хочешь найти? хороший вариант, попробую.
PM MAIL   Вверх
DimW
Дата 9.3.2005, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Один к одному говоришь.... то есть на одну активную запись в Table1 одна запись в Table2.
если так то:
Код

Tabel2.Locate('Name;Tabel1_ID; VarArrayOf [(' строка поиска... ', Table1.FieldByName('ID').AsString)], []')


Tabel1_ID- вторичный ключ.

Вот только не пойму зачем тебе Locate, в результате все равно найдется одна запись, и Query возвратит одну запись (если конечно на вторичный ключ завязываться)...

не проще объединить таблицы???


Добавлено @ 09:34
сори с синтаксисом начудил...
Код

Tabel2.Locate(' Name;Tabel1_ID; [color=red]', [/color]VarArrayOf [(' строка поиска... ', Table1.FieldByName('ID').AsString)], []');

вроди так...
Добавлено @ 09:37
да что за [censored 6] фигня!!!

Tabel2.Locate(' Name;Tabel1_ID; ', VarArrayOf [(' строка поиска... ', Table1.FieldByName('ID').AsString)], []');

smile


PM MAIL ICQ   Вверх
offline
Дата 9.3.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Нет, отношение ни один к одному, а один ко многому. Но идею твою понял, запрос для поиска. Действительно, идея хорошая. smile
PM MAIL   Вверх
DimW
Дата 9.3.2005, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Извиняюсь... и как я прочитал "один к одному"???
Стормозил вобщем. Тогда тот локейт что я предложил вполне подойдет эсли использовать TTable.
PM MAIL ICQ   Вверх
bursa
Дата 9.3.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



Цитата
и в Delphi подключил эти запросы как таблицы и установил между ними связь. Все работает без проблем. Но когда я произвожу в связанный таблицы поиск то он не работает.


Т.е., как я понял, нет этих записей в данной выборке.
Тогда на время отключаешь связь
MasterSource:=nil;
делаешь поиск в "связанной" таблице
ищешь в родительской ключевое значение
ставишь Mastersource обратно
ну и еще раз поиск в связанной


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.