|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  DBGrid В DBGrid выводется БД через запрос в Query. Как мне сделать так чтоб при вводе в edit значения и нажатия на кнопку фокус подал на нужную строчку в DBGrid где есть это значение, оно уникально и только в первом столбце? Помогите пожалуйста, а то я чё то не допру как в DBGrid нужную строку по введенному значению выделить. | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   ОРГАНИЗАЦИЯ ПОИСКА В БД С ПОМОЩЬЮ SQL-ЗАПРОСА В этом примере осуществляется поиск в таблице Data1 (в столбце Name) в соответствии с значением, вводимым в поле Edit1. Запишем в обработчике событий OnChange компонента Edit1 следующий код: Код: procedure TForm1.Edit1Change(Sender: TObject);
  begin  
  ADOQuery1.Active:=false;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT *');
  ADOQuery1.SQL.Add('FROM Data1');
  ADOQuery1.SQL.add('WHERE Name like ''' +'%'+Edit1.Text + '%''');
  ADOQuery1.Active:=true;  
end;Последний раз редактировалось Admin, 21.09.2008 в 13:36. | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Спасибо я так делал но не дабавлял %,% видимо из-за этого только первый ввод срабатывал, а потом ошибка при попытке стереть и ввести другой номер. Это отлично работает и сойдёт. Но я хотел немного по другому чтоб запрос оставался, т.е. значения не убирались и оставался только нужный, а чтоб фокус чисто переходил на строчку с нужным значением. Там вобще можно в DBGride фокус перемещать на нужную строку при нажатии на кнопку? Это так мне для самообразования). За пример спасибо Dux. Последний раз редактировалось Qwed86, 21.09.2008 в 11:08. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Используй функцию DBGrid.DataSource.DataSet.Locate() в обработчике OnClick твоей кнопки | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Вот я про это и говорил, так и думал есть что-то подобное. Спасибо |