Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 00:36   #1
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию Проблема с поиском в БД

Такая ситуация: При вводе в Tedit какого бы то нибыло символа для поиска в базе, неизменно возникает сообщение: "Не удается найти объект в семействе, соответствующий требуемому имени или порядковому номеру". Или:
"Аргументы имеют неверный тип, выходят за пределы допустимого диапазона, или вступают в конфликт друг с другом"
Несколько дней на этом уже торможу и никак не пойму в чем здесь дело!!!
База: MS Access, соединение: ADO. Для поиска используются 3 tedita. Первый осуществляет поиск по номеру, второй по дате и третий по фамилии. В Teditе следующий код для номеров:
Код:
begin
if Length(Edit1.text)>0 then
form4.xd.Filtered:=true
else
form4.xd.Filtered:=false;
form4.xd.Filter:='Номера дисков LIKE *' +Form4.Edit1.Text+'*';
end;
Для даты:
Код:
begin
if Length(Edit3.text)>0 then
form4.xd.Filtered:=true
else
form4.xd.Filtered:=false;
form4.xd.Filter:='Дата='''+Edit3.Text+'''';
end;
Для фамилии аналогично..
При запуске программы, ввожу в tedit какойнибудь символ, и тутже появляется чертово сообщение. Бывает что при первом вводе даже все впорядке, нужная строка находится, а при повторном поиске сообщение все равно появляется!!!
Подскажите пожалуйста в чем же здесь может быть дело! Буду невероятно благодарен!!!

Последний раз редактировалось Evgenii; 22.06.2009 в 00:45.
Evgenii вне форума Ответить с цитированием
Старый 22.06.2009, 11:59   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

вам одновременно нужно осуществлять поиск по трем категориям или это долно быть на выбор пользователя? почему бы не использовать Like или Locate??
фЁдОр вне форума Ответить с цитированием
Старый 22.06.2009, 14:14   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

бр-р-р-р-р...
сразу могу сказать - мне, например, очень не нравится имя поля с пробелом!
да и текстовые значения должны быть "закавыченны"...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.06.2009, 14:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
очень не нравится имя поля с пробелом!
Верно. Их нужно заключать в [] -
Код:
form4.xd.Filter:='[Номера дисков] LIKE *' +Form4.Edit1.Text+'*';
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2009, 16:14   #5
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

Нет. не в этом здесь дело... Сообщение всеравно появляется хоть с квадратными скобками хоть без них
Evgenii вне форума Ответить с цитированием
Старый 22.06.2009, 16:24   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а так?
Код:
form4.xd.Filter:='[Номера дисков] LIKE ''*' +Form4.Edit1.Text+'*''';
Если код выше тоже не сработал, то xd - это у Вас что? Туда точно нужное поле выбирается?
Проект запаковывайте в архив + туда же тестовую базку и цепляйте сюда. посмотрим, что там не так...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.06.2009, 17:05   #7
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

и так тоже не помогает
Хорошо. Сейчас упакую в архив
То что выбирается нужное поле-это точно! Когда поиск осуществляется по точному значению (=), все в порядке! никаких проблем! но этот поиск мне не подходит, нужно найти фрагмент в строке, соответственно используется like. И вот тут начинаются какие то несоответствия типов!!!

Последний раз редактировалось Evgenii; 22.06.2009 в 17:07.
Evgenii вне форума Ответить с цитированием
Старый 22.06.2009, 17:18   #8
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

В архиве содержится программа и бд
Вложения
Тип файла: rar БД.rar (19.4 Кб, 27 просмотров)
Evgenii вне форума Ответить с цитированием
Старый 22.06.2009, 22:05   #9
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

Ну есть у когонибудь хоть какое предположение что же здесь не так?!?!?
Evgenii вне форума Ответить с цитированием
Старый 22.06.2009, 22:53   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да как же можно сказать, если Вы в исходники не положили файл Unit6,
который лежит у Вас:
C:\Documents and Settings\Master&TT\Мои документы\Borland Studio Projects\Unit6.pas

я Вам больше скажу. я ни в одной таблице (из трёх) не нашёл поля, по которому Вы пытаетесь искать (Номера дисков)
Правда, есть поле "Номера сданных дисков"... может Вы имя поля перепутали?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с поиском Bestmachin БД в Delphi 9 12.06.2009 22:17
Проблема с поиском решения mavs Microsoft Office Excel 4 20.04.2009 15:52
проблемы с поиском vIRTx Паскаль, Turbo Pascal, PascalABC.NET 11 12.06.2008 17:43
Проблема с поиском Zeraim Microsoft Office Access 2 04.06.2008 05:42