![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в БД! Помогите!
Jazzz © (2006-02-05 13:30:00)У меня Delphi 2005. Есть ms access таблица. В ней есть несколько полей (FIO:string,NPV:integer,NlS:integer и т.д.).
Вобщем всё подключено и работает. Нужно сделать чтобы в Edit1 пользователь вводил ФИО, и по мере того как он его вводит курсор перемещается к наиболее соответствующему ФИО. Под Д6 у меня был компонент, которій это делал (AlVas). Как это сделать без него?
ADOTable1.IndexFieldNames:='FIO';
if not ADOTable1.Locate('FIO',Edit1.Text,[loPartialKey])
then ShowMessage('Не найдено записей'); - не работает
var str:&string;
str:='select * from spum where fio='+'"'+Edit1.Text+'*'+'"';
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(str);
ADOQuery1.Active:=True;
такое тоже не работает.
Может кто нибуть знает???
ПОМОГИТЕ!!!! Плиззззз!!!!!! Срочно нужно!!!!
Asail (2006-02-06 18:33:00) [1]
> msguns © (06.02.06 11:12) [6]
> И тут же написал еще одну ;)
Какую? У меня так прекрасно работает, правда на BDE!!!
msguns (2006-02-06 11:12:00) [2]>atruhin © (05.02.06 16:07) [2]
>>* на % поменяй
>Эт что значит? Что это даст?
Это даст то, что движок "поймет" запрос также, как его понимает акцес.
>По вопросу: смотри оператор like, воспользуйся параметрами в запросе или функцией Quote.
Каким боком Like поможет там, где не помог PartialKey ?
>sail (05.02.06 20:17) [4]
>ардон, чушь написал!!!
И тут же написал еще одну ;)
>stur (06.02.06 11:01) [5]
Масло масляное ?
nstur (2006-02-06 11:01:00) [3]В методе Edit1 Change добавить
var
v: variant;
begin
v:= Edit1.Text;
dbgMain.DataSource.DataSet.Locate('FIO',v,[loPartialKey]);
Бывает необходимо заранее определить тип передаваемой переменной, а у Locate это variant.
Asail (2006-02-05 20:17:00) [4]Пардон, чушь написал!!!
Вместо ADOTable1.SetKey:=S; надо:
ADOTable1.SetKey;
ADOTable1.FieldByName('FIO').AsString:=S;
Сорри...
Asail (2006-02-05 20:01:00) [5]Если ADOTable1.IndexFieldNames:='FIO' то
В обработчике OnChange для Edit1 делай:
var S : String;
begin
S:=Trim(Edit1.Text);
if S='' then Exit;
ADOTable1.SetKey:=S;
ADOTable1.GotoNearest;
end;
atruhin (2006-02-05 16:07:00) [6]>>* на % поменяй
Эт что значит? Что это даст?
По вопросу: смотри оператор like, воспользуйся параметрами в запросе или функцией Quote.
sniknik (2006-02-05 15:05:00) [7]* на % поменяй