Помогите с запросом

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Acidora
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 03.10.2005 (Пн) 15:37

Помогите с запросом

Сообщение Acidora » 05.10.2005 (Ср) 10:38

суть проблемы есть много ComboBox из них считывается инф
и сравневается со значениями в базе
проблема возникает в запросе пишет что нет такой записи когда она есть...

Код: Выделить всё
For I = 1 To K
     
   VV = "ComboBox" & (I) & ".Value"
       
       Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE (Name) =  "" & VV & """, dbOpenDynaset)
       NN = (rstNwind.Fields(0))
           
Next I


заранее спасибо

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.10.2005 (Ср) 10:54

может так:

Код: Выделить всё
Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE [Name] =  """ & VV & """", dbOpenDynaset)

Acidora
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 03.10.2005 (Пн) 15:37

Сообщение Acidora » 05.10.2005 (Ср) 12:40

может так:

Код:
Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE [Name] = """ & VV & """", dbOpenDynaset)

тоже самое пишет(

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.10.2005 (Ср) 12:41

что пишет?
приведите пожалуйста текст и номер ошибки

Acidora
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 03.10.2005 (Пн) 15:37

Сообщение Acidora » 05.10.2005 (Ср) 12:58

Run-time error '3021'

текущая запись отсутствует

там после извлечение переменой получается


Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE [Name] = "ComboBox1.Value",dbOpenDynaset)

а должно

Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE [Name] = ComboBox1.Value,dbOpenDynaset)

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.10.2005 (Ср) 13:16

Код: Выделить всё
SQL="SELECT * FROM [BASE] WHERE [Name] LIKE '*" & ComboBox1.Value & "*'"

Set rstNwind = my_base.OpenRecordset(SQL,dbOpenDynaset)

Acidora
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 03.10.2005 (Пн) 15:37

Сообщение Acidora » 05.10.2005 (Ср) 13:42

Konst_One
а как же цикл ?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.10.2005 (Ср) 14:17

а сам никак :?:


Код: Выделить всё
For I = 1 To K
     
   VV = ComboBox1.Item(I).Value
   SQL="SELECT * FROM [BASE] WHERE [Name] LIKE '*" & VV & "*'"
   Set rstNwind = my_base.OpenRecordset(SQL,dbOpenDynaset)
   NN = rstNwind.Fields(0).Value
   Debug.Print VV & "=" & NN
           
Next I


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList