|
|
|
| В общем смысл проблемы. Access 2003.
цикл:
Dim VarName As String
For i = 1 To XX
VarName = "XXX" & i
[VarName] = (Int((YYY) * Rnd + 1)) - Вот тут я просто не знаю как правильно писать имя переменной
Next i
Мне надо объявить несколько переменных которые имеют один тип и имя отличающееся на "i" Перерыл весь хелп и форум - нашёл только синтаксис Me(VarName) = бла бла бла... Но мне не нужно работать с формой, мне нужны только переменные.
Буду очень признателен за ответ. | |
|
| |
|
|
|
| а массив низя использовать | |
|
| |
|
|
|
| Если честно не шарю я в массивах - не работал с ними ни разу... Сейчас попробую порыть как ими пользоваться. | |
|
| |
|
|
|
| тогда в такую темень как твои переменные и не стоит лазать - прочти 1 раз про массивы и будет счастье
п.с. если че не понятно спрашивай, пришлем ответ | |
|
| |
|
|
|
| Dim VarName(1 to XX) As Doudle' тут вместо ХХ должно стоять конкретное число если не знаете
' какое - объявляйте массив с запасом либо читайте про динамические массивы
For i = 1 To XX
VarName(i) = (Int((YYY) * Rnd + 1))
Next i
целая часть числа YYY умноженная на случайное число в диапазоне от 0 до 1 плюс 1
непонятно | |
|
| |
|
|
|
| Намёк про динамические массивы понял - Спасибо - мне как раз надо именно такой.
А Int((YYY) * Rnd + 1) - (тут ещё округлить надо) - это я так задаю рандомное число от 1 до числа YYY - 1. Возможно есть способ и попроще, но пока допёр только до такого варианта. | |
|
| |
|
|
|
| Но этот RND - он Вам свинку может подложить - в виде выдачи повторяющихся значений.
Кстати округлять - нечего, если int использовать.
| |
|
| |
|
|
|
| В общем у меня получилось так. Спасибо всем.
Dim Array() As Long
ReDim Array(1 To XX)
For i = 1 To XX
Array(i) = Int((YYY - 1) * Rnd + 1)
Next i
Возник ещё вопрос для получения определённого значения из массива мне всегда нужно запускать Цикл для перебора значений или есть какой то другой способ???
К примеру мне надо вернуть значение Array21 - я запускаю цикл в котором при условии i=21 выполняю какие то действия??? | |
|
| |
|
|
|
| зачем цикл?
просто Array(21) - и все
(скобки обязательно - без скобок это просто переменная) | |
|
| |