Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Вытащить на label данные из бд.
     
    
Добавлено: 09.09.10 13:26
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     goodwen
 goodwen
      
       
  
Здравствуйте, я пишу на vb6, у меня есть бд в виде Excel файла, где есть 2 столбца, первый "obj" для слов, другой "meta-obj" для описания этого слова в определённом формате. Мне нужно ввести слово в textbox и чтобы всё описание этого слова вытащилось в label на форме. При чём описание для каждого слова в столбце "meta-obj" занимает несколько строк вниз и поэтому мне нужно найти введённое слово в бд и вывести всё описание для этого слова (и не выводить описание другого слова, которое идёт ниже), как мне это можно сделать?
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 8
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: Eugy
 Eugy







Вопросов: 0
Ответов: 73
      
 Профиль |  | #1
       
Добавлено:  09.09.10 16:21
       
    
       
  
То у тебя в excel такая структура(условно)
 
    
    A              B    
1 [obj]       [meta-obj]
2 obj_name1    meta1_1
3 <пусто>      meta1_2
4 <пусто>      meta1_3
5 obj_name2    meta2_1
Такое трудно назвать базой данных  
Можно конечно SELECT * .. и перебором в цикле, но даже в этом случае в "базе" должен быть столбец индекса.
Может проще задействовать объектную модель excel.
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: goodwen
 goodwen







Вопросов: 26
Ответов: 65
      
 Профиль |  | #2
       
Добавлено:  09.09.10 19:20
       
    
       
  
Eugy, да, у меня именно такая структура, а как мне эту объектную модель использовать? Мне там обязательно надо именно в laabel вытащить эти данные:
 
    
meta1_1
meta1_2
meta1_3
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: goodwen
 goodwen







Вопросов: 26
Ответов: 65
      
 Профиль |  | #3
       
Добавлено:  09.09.10 19:25
       
    
       
  
Eugy, хотя по сути можно же сделать и такую структуру:
 
    
A B
1 [obj] [meta-obj]
2 obj_name1 meta1_1
3 obj_name1 meta1_2
4 obj_name1 meta1_3
5 obj_name2 meta2_1 
 По сути то ничего не измениться, а как мне в этом случае с помощью select, введя obj_name1 вывести на label только?:
meta1_1
meta1_2
meta1_3
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: Eugy
 Eugy







Вопросов: 0
Ответов: 73
      
 Профиль |  | #4
       
Добавлено:  09.09.10 20:24
       
    
       
  
Изменится, можно будет написать sql-запрос
 
    
И все.
А вообще, по уму, должны быть три таблицы, первая содержит obj и его уникальный индекс,
вторая- meta-obj и уник. индекс, а третяя осуществляет связку этих индексов.
И разумеется все это не в excel, а хотя бы в access, где "специально-обученный" драйвер базы следит за целостностью связок.
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: Eugy
 Eugy







Вопросов: 0
Ответов: 73
      
 Профиль |  | #5
       
Добавлено:  09.09.10 22:12
       
    
       
  
Да,вот еще что..
 
    
Если искомая строка содержит произвольные символы типа кавычек, запятых и пр.,
тогда можно создать запрос с параметром. 
Удачи.
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: goodwen
 goodwen







Вопросов: 26
Ответов: 65
      
 Профиль |  | #6
       
Добавлено:  09.09.10 22:13
       
    
       
  
Eugy, Спасибо всё заработало, только вот этот участок кода:
 
    
почему то не работает, пишет что BOF, или EOF имеет значение true, либо текущая запись удалена, Как мне можно это исправить?
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа: Eugy
 Eugy







Вопросов: 0
Ответов: 73
      
 Профиль |  | #7
       
Добавлено:  09.09.10 22:20
       
    
       
  
проверкой рекордсета  
     
if rec.EOF or rec.BOF then...
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа: goodwen
 goodwen







Вопросов: 26
Ответов: 65
      
 Профиль |  | #8
       
Добавлено:  09.09.10 23:36
       
    
       
  
Eugy, Спасибо за помощь, всё заработало.