Вопрос с циклом

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

Вопрос с циклом

Сообщение Acidora » 03.10.2005 (Пн) 15:44

Здравствуйте)
тут воросик как вот такую штуку запихатьв цикл
чтоб менялись ComboBox1 и TB_1 на ComboBox2 и TB_2...
итд
Код: Выделить всё
  Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE (Name) = """ & ComboBox1.Value & """", dbOpenDynaset)
       NN = (rstNwind.Fields(0))
       KOLVO = TB_1
     
       

и можноли вобще такое зделать?

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 03.10.2005 (Пн) 21:05

Можно ... за деньги... у телепатов

Ем вилкой...

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 03.10.2005 (Пн) 23:09

а в чём проблема, возьми один из трёх циклов for .. next, do while или do until и меняй внутри них всё что хочешь, только граммотное условие выхода придумай.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

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

Сообщение Acidora » 04.10.2005 (Вт) 7:25

проблема в том как правильнно записать переменые ComboBox1 и TB_1
чтоб мненялись их порядковые номера взависимочти потреременой I которая будет увеличиватся с каждым проходом цикла...

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

Сообщение Acidora » 04.10.2005 (Вт) 9:21

или подскажите как зделать

i = 1
t = "ComboBox" & Str(I) & ".Value"

в результате получается

ComboBox 1.Value

как избавиться от пробела между ComboBox и 1

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 04.10.2005 (Вт) 9:21

Index'ы еще не отменяли ;о)

ComboBox(i mod 2)=...

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

Сообщение Acidora » 04.10.2005 (Вт) 9:33

Index'ы еще не отменяли ;о)

ComboBox(i mod 2)=...


можно по подробнее я жуткое ламо)

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 04.10.2005 (Вт) 9:41

:shock:

Дай обоим комбикам одинаковые имена(Name), в свойство Index 0 и 1 проставь

TB_1 - что это такое не понял, если переменная, тогда сделай массив из двух элементов dim TB(0 to 1) as long

и обращайся потом к ним TB(0), TB(1), ComboBox(0),ComboBox(1)

i mod 2 - остаток от деления на два, если четное число будет 0, нечетное - 1

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

Сообщение Acidora » 04.10.2005 (Вт) 9:55

TB это Textbox и уменя их 40-80 и стокоже ComboBox
и мне даные надо из них считывать )))
потом сравнивать с даными в БД....

и чтоб кучу условии не писать мне я ставлю проверку в ведены даные или нет если да то i = i + 1 и сравниваю с базой введеные занчения
а для етого нужно воттакой запрос в котором ComboBox меняются от 1 - 40 и ТВ соответствено

Код: Выделить всё
Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE (Name) = """ & ComboBox1.Value & """", dbOpenDynaset)
       NN = (rstNwind.Fields(0))
       KOLVO = TB_1



и дальше я все знаю как зделать))

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 04.10.2005 (Вт) 10:03

:shock: :shock: :shock:
Моя твоя не понимает, твоя бежит, моя стреляет...(с) Чукотское народно-пограничное

Конечно твоя не ленивый рисовать 80 комбиков.
Твоя:
1. Всем комбикам дает одинаковые имена
2. Проставляет индексы (если делать копированием они сами :о))
3. Всем текстбоксам дает одинаковые имена
4. Проставляет индексы (если делать копированием они сами :о))
5. В циклах обращается CB(i) и TB(i)

Моя в это время жутко смеется....
:D
Пора уже всем хорошим людям собраться и убить всех плохих людей.

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

Сообщение Acidora » 04.10.2005 (Вт) 10:12

1. Всем комбикам дает одинаковые имена
2. Проставляет индексы (если делать копированием они сами :о))
3. Всем текстбоксам дает одинаковые имена
4. Проставляет индексы (если делать копированием они сами :о))
5. В циклах обращается CB(i) и TB(i)


у меня все так и зделано....

я все конесно понемаю ))))
но вся моя проблема состоит втом чтоб в отето запрос работал))))

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


и нем менялось ComboBox1.Value на ComboBox2.Value итд
а я не допераю как правильно эт записать чтоб он ошибку неписал(

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 04.10.2005 (Вт) 13:00

наверное так
Код: Выделить всё

for i=1 to 80
Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE (Name) = """ & ComboBox1(i).Value & """", dbOpenDynaset)
next i
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

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

Сообщение Acidora » 05.10.2005 (Ср) 9:22

наверное так
Visual Basic:

for i=1 to 80
Set rstNwind = my_base.OpenRecordset("SELECT * FROM BASE WHERE (Name) = """ & ComboBox1(i).Value & """", dbOpenDynaset)
next i


ошибку пишет (((

я вот так попробовал

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


пишет что в запросе синтаксическая ошибка
как исправить?


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

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

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

    TopList