monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 «  : 10-02-2007 08:16 »   | 
								
								 | 
							  
							 
							Как сделать, чтобы при вводе данных в поле на форме - находилась похожая строка в базе и выводилась на форму КАК В СТРОКЕ СОСТОЯНИЯ ФОРМЫ В ACCESS 2007? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 10-02-2007 14:24 »   | 
								
								 | 
							  
							 
							monrus, после каждого введенного символа выполняй поиск с LIKE. Только какая от этого польза? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									«  Ответ #2 : 10-02-2007 17:19 »    | 
								
								 | 
							  
							 
							Просто у меня на форме в Акцессе 2007 есть поле "поиск" (см. рисунок - №1), где по первым введенным буквам отображается на форме нужная запись. А в Акцессе 2003, который на работе - такого поля нет. Хотелось бы такое же реализовать с обычным полем (см. рис.- №2). Чтобы не нажимать постоянно для поиска Ctrl+F 
						 | 
					 
					
						
							
								
									 
									
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 12-02-2007 06:28 »   | 
								
								 | 
							  
							 
							что-то типа этого Private Sub MyTextBox_Change()     Dim rst As DAO.Recordset, intI As Integer
      Set rst = Form.Recordset     rst.FindFirst "[MyField] like '" & MyTextBox.Text & "*'"     Debug.Print rst.NoMatch     MyTextBox.SelStart = Len(MyTextBox.Text)      End Sub  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 15-12-2007 16:23 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 12-02-2007 15:28 »   | 
								
								 | 
							  
							 
							HandKot, большое спасибо!!! 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 13-02-2007 15:48 »   | 
								
								 | 
							  
							 
							А как сделать чтобы он во всех полях искал? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 14-02-2007 06:07 »   | 
								
								 | 
							  
							 
							А как сделать чтобы он во всех полях искал?
  попробуйте так rst.FindFirst "[MyField] like '" & MyTextBox.Text & "*' OR [MyField2] like '" & MyTextBox.Text & "*'"  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 15-12-2007 16:25 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 14-02-2007 13:58 »   | 
								
								 | 
							  
							 
							спасибо. это получается надо все поля прописывать? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 15-02-2007 06:12 »   | 
								
								 | 
							  
							 
							спасибо. это получается надо все поля прописывать?
  а вы как думали Если взять, к примеру вас, тоже ведь глазами будете пробегать все поля а комп ничем не лучше, по крайней мере, телепатией и предсказаниями не владеет    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 22-02-2007 15:30 »   | 
								
								 | 
							  
							 
							Еще один вопрос - этот метод ищет в строке с первого символа. а как слелать чтобы с любогоместа в строке искал. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 26-02-2007 05:55 »   | 
								
								 | 
							  
							 
							Еще один вопрос - этот метод ищет в строке с первого символа. а как слелать чтобы с любогоместа в строке искал.
  поставить символ "звездочка" в начале rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 15-12-2007 16:26 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							monrus
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 27-02-2007 13:40 »   | 
								
								 | 
							  
							 
							Огромное спасибо! 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							corvin-nik
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 03-05-2007 08:20 »   | 
								
								 | 
							  
							 
							monrus, HandKot,  Везет же людям, все у них заработало. А я уже второй день бьюсь и ничего кроме ошибки 3077 (пропущен оператов в выражении) ничего не получается, если же поставить одиночные кавычки, вроде как по правилам, то вообще ничего не ищется. Помогите пожалуста понять, что может быть не так? Изначальный пример кода не работает. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 03-05-2007 08:22 от corvin-nik »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 03-05-2007 13:45 »   | 
								
								 | 
							  
							 
							corvin-nik,  rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"
  corvin-nik, тоже в ИЕ сидишь ? )
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							corvin-nik
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 03-05-2007 14:49 »   | 
								
								 | 
							  
							 
							corvin-nik,  rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"
  corvin-nik, тоже в ИЕ сидишь ? )
 
  Спасибо! Сижу, блином Билли эдак и так р-р-р-р    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							corvin-nik
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #16 : 03-05-2007 14:51 »   | 
								
								 | 
							  
							 
							Еще один вопрос: как можно выделять найденные символы, чтоб не шарить глазами по строкам? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							daikmax
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #17 : 30-07-2008 22:35 »   | 
								
								 | 
							  
							 
							Может уже не актуально, но всетаки интересно, как сделать такойже поиск, но по двум полям, дапустим имя и фамилия??? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							daikmax
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #18 : 30-07-2008 22:38 »   | 
								
								 | 
							  
							 
							Может уже не актуально, но всетаки интересно, как сделать такойже поиск, но по двум полям, дапустим имя и фамилия???
  задача такова: два поля даля ввода текста на поиск, сам поиск по одной колонке, только так как в примере сверху... Так сказатй поиск в реалйном времени   )  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #19 : 31-07-2008 03:53 »   | 
								
								 | 
							  
							 
							daikmax, поиск по N поляд делается почти точно также, как и поиск по одному полю: ищем по первому, совпадения проверяем по остальным полям. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							daikmax
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #20 : 01-08-2008 20:16 »   | 
								
								 | 
							  
							 
							Private Sub MyTextBox_Change()     Dim rst As DAO.Recordset, intI As Integer
      Set rst = Form.Recordset     rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"     Debug.Print rst.NoMatch     MyTextBox.SelStart = Len(MyTextBox.Text)      End Sub
  этот код выполняет поиск по двум разным полям базы, каждый раз когда я набераю символ в  один текстбокс?! Верно?  У меня немного другая задача, таблица дапустим в две колонки, 1-я имя, 2-а фамилия! Надо  идентичный поиск, если я ввел фамилию, и в базе фамилии одинаковые, то я ввожу есчо и имя!  Как сделать правелйый провеку, и возможена ли реализацыя такова поиска?!  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #21 : 04-08-2008 04:26 »   | 
								
								 | 
							  
							 
							попробуйте так 'где вводим фамилию Private Sub MyTextBoxFamily_Change()     Dim rst As DAO.Recordset, intI As Integer
      Set rst = Form.Recordset     rst.FindFirst "[MyField_Family] like '*" & MyTextBoxFamily.Text & "*' AND [MyField_Name] like '*" & MyTextBoxName.Text & "*'"     Debug.Print rst.NoMatch     MyTextBoxFamyly.SelStart = Len(MyTextBoxFamily.Text) End Sub
  'где вводим имя Private Sub MyTextBoxName_Change()     Dim rst As DAO.Recordset, intI As Integer
      Set rst = Form.Recordset     rst.FindFirst "[MyField_Family] like '*" & MyTextBoxFamily.Text & "*' AND [MyField_Name] like '*" & MyTextBoxName.Text & "*'"     Debug.Print rst.NoMatch     MyTextBoxName.SelStart = Len(MyTextBoxName.Text) End Sub  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							LexandrIII
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #22 : 19-11-2008 09:02 »   | 
								
								 | 
							  
							 
							А как сделать поиск, чтобы в таблице оставались толке записи, которые набираешь в отдельном поле поиска? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #23 : 19-11-2008 10:50 »   | 
								
								 | 
							  
							 
							не совсем понятен вопрос возможно Вы имели ввиду св-во Filtr объекта RecordSet 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							LexandrIII
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #24 : 26-11-2008 11:25 »   | 
								
								 | 
							  
							 
							HandKot, возможно. Есть таблица и есть поле ввода. Мне нужно, чтобы в таблице оставались только записи соответствующие тому, что набирается в поле ввода. Соответствие допустим будет по полю Name таблицы. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #25 : 27-11-2008 05:09 »   | 
								
								 | 
							  
							 
							на событие изменения в поле (txtFilter) ввода пишете, что-то похожее на это sub txtFilter_Change   myRecordset.Filtr = "Name like '" + txtFilter + "*'"    end sub
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							EnergyUzh
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #26 : 10-06-2009 07:25 »   | 
								
								 | 
							  
							 
							Private Sub Поиск_Change() Dim rst As DAO.Recordset, intI As Integer     Set rst = Form.Recordset     rst.FindFirst "Инструкции like '*" & Поиск.Text & "*'"     Debug.Print rst.NoMatch     Поиск.SelStart = Len(Поиск.Text) End Sub Выбивает ошибку 3070 "Инструкции" не распознается ядром базы даных Microsoft Jet  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #27 : 10-06-2009 10:08 »   | 
								
								 | 
							  
							 
							 а такое поле вообще есть в таблице/рекордсете ? так же попробуйте обернуть "брикетами" rst.FindFirst "[Инструкции] like '*" & Поиск.Text & "*'"  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							EnergyUzh
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #28 : 10-06-2009 10:16 »   | 
								
								 | 
							  
							 
							Спасибо, не заметил ошибку в написании. И еще одно можно ли как-то переделать этот код что бы в поле можно было писать не только одно слово, и пользоваться пробелом... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							HandKot
							
								Молодой специалист 
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #29 : 10-06-2009 10:25 »   | 
								
								 | 
							  
							 
							не понял
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							I Have Nine Lives You Have One Only THINK! 
						 | 
					 
				 
			 |  
		 
	 | 
	 |