![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Подскажите, как можно после вызова Locate, далее делать поиск по записям!? Я написала новую функцию в которой с помощью Next записи перебираются, но это очень долго и не красиво. Подскажите, как ещё можно ?
|
#2
|
||||
|
||||
![]() Всмысле после вызова Locate?
А по вопросу: Либо Next в цикле, либо SQL в TQuery. |
#3
|
|||
|
|||
![]() да..после Locate нужно искать снова эту же запись, я уже делала через Next...очень медленно.
|
#4
|
||||
|
||||
![]() Locate находит запись, даже после изменения этой записи курсор остается на ней. Зачем ее еще раз искать?
|
#5
|
|||
|
|||
![]() я имею ввиду тот же параметр или запись в этом столбце!
к примеру : если слово город повторяется раз 5! |
#6
|
||||
|
||||
![]() Ясно. Тогда только Next или SQL запросом. Если есть проблемы с SQL пиши что точно надо сделать.
|
#7
|
|||
|
|||
![]() //хотите описываайте , хотите нет function TDataSet.FindFirst: Boolean;
Код:
function TDataSet.FindFirst: Boolean;begin Result := FindRecord(True, True); end; function TNPSForm.GetFilter: string; var Pole : Shortstring; begin // выбор поля ... case RadioGroup1.ItemIndex of 0: Pole := 'Какое хотите1'; 1: Pole := 'Какое хотите2' ; 2: Pole := 'Какое хотите3' ; end; if edName.Text = ' ' then begin ShowMessage ('Ни чего не набрали!'); exit; end else Result := Pole + ' = ' + Trim(edName.Text) end; procedure TNPSForm.SearchFirst; begin ReadQuery.Filter := GetFilter; if not ReadQuery.FindFirst then Application.MessageBox('Данные не найдены', 'Поиск', MB_OK + MB_ICONINFORMATION) else Next.Visible:= true; end; procedure TNPSForm.Button3Click(Sender: TObject); var DSAfterScroll: TDataSetNotifyEvent; DSDataChange: TDataChangeEvent; begin DSAfterScroll := ReadQuery.AfterScroll; DSDataChange := dsRead.OnDataChange; ReadQuery.AfterScroll := nil; dsRead.OnDataChange := nil; SearchFirst; ReadQuery.AfterScroll := DSAfterScroll; dsRead.OnDataChange := DSDataChange; end; Последний раз редактировалось Admin, 13.04.2009 в 15:29. |
#8
|
||||
|
||||
![]() Во-порвых, "ГДЕ ТЕГИ???" © Модеры форума
Во-вторых - вроде всё верно... или я ошибаюсь... но помоему всё ок. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |