Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как выполнить набор команд из текстовой переменной? / 3 сообщений из 3, страница 1 из 1
21.08.2009, 15:44
    #36157235
Как выполнить набор команд из текстовой переменной?
Задача: в зависимости от выполнения/невыполнения условий формировать строковую переменную в виде набора VB команд.
Затем эти команды необходимо выполнить....

Как это можно реализовать?

Объясняю зачем мне это надо. У меня есть неизвестное заранее количство рекордсетов. Их имена я подтягиваю из внешней таблицы. Какие это будут имена и сколько их - заренее неизвестно. А объявить их надо. Ибо со всеми ими (рекордсетами) мне нцжно работать. Посему блеснула мысль. При затяжке имен рекордсетов формировать стровоквые переменные с текстом :

Код: plaintext
1.
varStr(i) = "Dim " & имярекордсета & "As New ADODB.Recordset"
И тут встал вопрос: а как теперь выполнить инструкции из этих переменных???
...
Рейтинг: 0 / 0
21.08.2009, 15:47
    #36157246
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить набор команд из текстовой переменной?
есть контрол VBScript, в котрый можно засовывать исполняемый код и выполнять, но вам придется поработать с вашим кодом
...
Рейтинг: 0 / 0
21.08.2009, 16:18
    #36157342
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить набор команд из текстовой переменной?
Роман Шевченко
Объясняю зачем мне это надо. У меня есть неизвестное заранее количство рекордсетов. Их имена я подтягиваю из внешней таблицы. Какие это будут имена и сколько их - заренее неизвестно. А объявить их надо. Ибо со всеми ими (рекордсетами) мне нцжно работать. Посему блеснула мысль. При затяжке имен рекордсетов формировать стровоквые переменные с текстом...Неверная мысль блеснула. Запихните все свои рекордсеты в коллекцию - для этого нужно объявить 1 (одну) коллекцию и 1 (один) рекордсет.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim ar As ADODB.Recordset
Dim col As VBA.Collection

For Each Имя In ВнешняяТаблица
    Set ar = RecordsetFrom(Имя)
    col.Add ar, Имя
Next

For Each ar In col
    'работаем со всеми по-очереди
Next
ттут RecordsetFrom() - Ваша функция, которая возвращает рекордсет по его имени (не знаю как)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как выполнить набор команд из текстовой переменной? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]