Не выводит в листбокс

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Не выводит в листбокс

Сообщение Shasha » 24.05.2006 (Ср) 8:57

Код: Выделить всё
Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Dim strCity As String
strCity = "1"
Set db = OpenDatabase("c:\Baza.mdb")
Set rs = db.OpenRecordset("SELECT * FROM [Abonents] WHERE [id] = " & Quote(strCity))

Do Until rs.EOF
lst.AddItem rs.Fields("id") & vbCrLf
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub


Private Function Quote(strVariable As String) As String
Quote = " ' " & strVariable & " ' "
End Function


почему то не выводит в листбокс, помогие, почему не выводит, не врублюсь
С Уважением,
Shasha

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 24.05.2006 (Ср) 9:08

а в рекордсете ченить есть? в цикл вообще заходит?

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 24.05.2006 (Ср) 9:14

А возвращает ли рекордсет вообще что-либо?
Проверь какой тип поля ID, поставь брейкпоинт перед Do Until и посмотри, происходит ли вход в цикл.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 24.05.2006 (Ср) 9:35

VVitafresh
:lol:

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 24.05.2006 (Ср) 10:59

miwutka, VVitafresh, в цикл не входит. что делать?
С Уважением,
Shasha

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

Сообщение Konst_One » 24.05.2006 (Ср) 11:02

тип поля ID какой?
если числовой, то зачем в кавычки вставляешь :?:

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 24.05.2006 (Ср) 11:09

значит рекордсет пустой.
перед циклом проверь чему равно rs.recordcount.
Если пусто, то на самом деле запрос меняй

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

Сообщение Konst_One » 24.05.2006 (Ср) 11:15

Код: Выделить всё
Debug.Print rs.RecordCount
Do While Not rs.EOF
    lst.AddItem rs![id]
    rs.MoveNext
Loop

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

Сообщение Konst_One » 24.05.2006 (Ср) 11:16

только смысла я в этом вообще не вижу, так как в итоге должна быть только одна 1 (единица всегда) в списке :lol:

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 24.05.2006 (Ср) 11:24

=)
у него цикл UNTIL
а для значений полей еще .value нада

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 24.05.2006 (Ср) 12:17

Странная конструкция:
Код: Выделить всё
WHERE [id] = " & Quote(strCity))

ИМХО id и город суть не одно и тоже. Вдобавок лишние пробелы в начале и конце strCity:
Код: Выделить всё
Private Function Quote(strVariable As String) As String
Quote = " ' " & strVariable & " ' "
End Function


Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 24.05.2006 (Ср) 14:49

Во
Последний раз редактировалось Al Khamid 06.11.2007 (Вт) 17:46, всего редактировалось 1 раз.
"Время пришло..." ©

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 24.05.2006 (Ср) 17:23

все поля текстовые... в id цифры. рекордсет пустой. я уже запутался :(
С Уважением,
Shasha

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 24.05.2006 (Ср) 18:08

Shasha писал(а):все поля текстовые... в id цифры. рекордсет пустой. я уже запутался :(

Чего тут путаться, тебе ведь уже указали на замеченные ошибки. Перечитай ветку с самого начала.
Если не поможет -- открой Access, создай там запрос в конструкторе и посмотри, что выдается в результате его исполнения (и выдается ли вообще).
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 25.05.2006 (Чт) 9:25

Фу
Последний раз редактировалось Al Khamid 06.11.2007 (Вт) 17:44, всего редактировалось 1 раз.

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 25.05.2006 (Чт) 19:05

ВСЕМ БОЛЬШОЕ СПАСИБО ЗА СОВЕТЫ. ВОПРОС ЗАКРЫТ. БАЗА БЫЛА СОЗДАНА НЕ ВЕРНО. СПАСИБО.
С Уважением,
Shasha


Вернуться в Visual Basic 1–6

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

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

    TopList