Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
pstrkim
-
- Новичок
-
-
- Сообщения: 30
- Зарегистрирован: 03.01.2007 (Ср) 23:53
pstrkim » 28.02.2007 (Ср) 16:27
Помогите решить проблему. Имеется Recorset с набором значений зависящим от элементов а(1), а(2). Как написать код если заранее не известно число элементов а(n)?
- Код: Выделить всё
Dim a(2) as integer
rs.Source = "SELECT Structures.StructureName FROM Structures WHERE Structures.StructureID IN(" & a(1) & "," & a(2) & ")"
-
dr.MIG
-
- Гуру
-
-
- Сообщения: 1441
- Зарегистрирован: 18.12.2004 (Сб) 9:53
- Откуда: г.Ярославль
-
dr.MIG » 28.02.2007 (Ср) 17:31
Создавай массив:
Dim a() as integer
Получай количество элементов (n), устанавливай размер массива ReDim a(n), создавай строку запроса, используя цикл
For i=0 to UBound(a)-1
...
Next
Salus populi suprema lex
-
pstrkim
-
- Новичок
-
-
- Сообщения: 30
- Зарегистрирован: 03.01.2007 (Ср) 23:53
pstrkim » 28.02.2007 (Ср) 20:41
создавай строку запроса, используя цикл
For i=0 to UBound(a)-1
...
Next
Не понял как это сделать с оператором Select? Не так же:
- Код: Выделить всё
For i = 0 To UBound(a) - 1
rsRpt.Source = "SELECT Structures.StructureName WHERE Structures.StructureID=" a(i)
Next
-
dr.MIG
-
- Гуру
-
-
- Сообщения: 1441
- Зарегистрирован: 18.12.2004 (Сб) 9:53
- Откуда: г.Ярославль
-
dr.MIG » 28.02.2007 (Ср) 22:38
Не так, а как-нибудь вот так
- Код: Выделить всё
strQuery="SELECT Structures.StructureName FROM Structures WHERE Structures.StructureID IN ("
For i=0 to UBound(a)-1
if i=0 then
strA=a(0)
else
strA=strA & "," & a(i)
end if
Next
rs.Source=strQuery & strA & ")"
Salus populi suprema lex
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 32