|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Поиск в DbGrid помогите, пожалуйста, в чем ошибка? Код: 
 lmikle: Пользуемся тегами. Последний раз редактировалось lmikle, 08.03.2016 в 05:53. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Ошбка - в прокладке. Ты бы хоть описал что не так работает. На первый взгляд все правильно. Возможно, надо доп флаги указать, что бы искало по части текста и без учета регистров. | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|  Вот такая я хреновая прокладка При проверке выдает ошибку [Ошибка] Unit3.pas(44): Ordinal type required я пробовал прописывать тип, не дало результатов | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код: 
 Видимо было в исходном примере: VarArrayOf([Form3.Edit1.Text]) | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   нет,у меня dbgrib на форме 1, а окно поиска на форме 3, где есть эдит и комбобокс. задача такова, что в каком из столбцов дбгрида поиск текста в эдите зависит от комбобокса. а с vararrayof пробовал, не получается, выдает ошибку [Ошибка] Unit3.pas(44): 'THEN' expected but ';' found [Ошибка] Unit3.pas(50): Statement expected but end of file found [Фатальная ошибка] Project1.dpr(7): Could not compile used unit 'Unit3.pas' | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   В Locate можно передавать несколько значений для поиска и тогда нужно эти значения завернуть в VarArrayOf(). Либо одно значение и тогда это просто строка: Код: 
 ПС: А ваши ошибки вообще к синтаксису локейта не имеют никакого отношения. | 
| 
			 
			#7  
			
			
			
			
		 | |||
| 
 | |||
|   попробовал и так и этак, результат один и тотже Последний раз редактировалось Alex-25, 08.03.2016 в 20:52. | 
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 Код: 
 Убери его | 
| Этот пользователь сказал Спасибо ApxaHGe1 за это полезное сообщение: | ||
|  
Alex-25 (10.03.2016)
 | ||
| 
			 
			#9  
			
			
			
			
		 | |||
| 
 | |||
|   в дбгриде (форма1) поля берутся из мдб. в таблице поля называютя "Код товара" и "Наименование товара", а в комбобоксе окна Поиск (форма3) - "По коду" и "По наименованию". как указать правильно в каком поле искать, могу ли я искать по номеру поля через "Columns" ? и где (в какой строке это прописать) ? это будет примерно так, просьба подсказать if Form3.ComboBox1.Text='По наименованию' then Form1.DBGrid1.DataSource.DataSet.Locate(Form1.DBGr id1.Columns[0],VarArrayOf([Form3.Edit1.Text+'%']),[]); Последний раз редактировалось Alex-25, 10.03.2016 в 20:34. | 
| 
			 
			#10  
			
			
			
			
		 | ||||
| 
 | ||||
|   Можно подставить имя поля для поиска по индексу в комбобоксе Код: 
 З.Ы. Ваш код нуждается в оптимизации, поскольку такие длинные конструкции особливо обращение к гридовому поставщику через эту же сетку всегда являлось и является моветоном |