|
|
|
Задать имя таблицы как параметр ....
|
|||
|---|---|---|---|
|
#18+
Работаю из-под VB с mdb. Пытаюсь использовать динамический (параметрический) запрос. Попробовал назначить имя таблицы БД в качестве параметра, на что VB ругнулся. Соответственно встал вопрос - можно ли в качестве параметра передавать имя таблиц. У меня несколькотаблиц одинаковой структуры (данные складов) и мне необходимо провести суммарные расчеты, поэтому использую один и тот же алгоритм, меняя только имена таблиц. Скорость не удовлетворительная, поэтому решил попробовать для этого случая динамический запрос, но в результате, как сказал выше, ничего не получилось. Что можно сделать? Set dbq = db.CreateQueryDef("", "PARAMETERS [ParamDate] Date," _ "[ParamIndex] text, [Virtual] text;" & vbNewLine & _ "SELECT TOP 1 * FROM [Virtual] WHERE [Data] <= [ParamDate] And [Index] =[ParamIndex] order by Data DESC, q DESC;") dbq.Parameters("ParamIndex") = .TextMatrix(MyRow, 0) 'индекс продукта dbq.Parameters("ParamDate") = md 'указанная база dbq.Parameters("Virtual") = x 'переменная с именем базы Set rsq = dbq.OpenRecordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2005, 10:44:40 |
|
||
|
Задать имя таблицы как параметр ....
|
|||
|---|---|---|---|
|
#18+
а если сделать так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2005, 09:14:41 |
|
||
|
Задать имя таблицы как параметр ....
|
|||
|---|---|---|---|
|
#18+
Получается ты предлагаешь использовать обычную переменную для передачи в строку запроса имени таблицы? Но если запрос формируется только один раз (в начале процедуры), а параметры задаются в дальнейшем в различных циклах и участках кода, то как можно будет манипулировать сменой имени таблицы БД в таком запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2005, 12:59:37 |
|
||
|
Задать имя таблицы как параметр ....
|
|||
|---|---|---|---|
|
#18+
я хотел сказать следующее Чудик У меня несколькотаблиц одинаковой структуры (данные складов) и мне необходимо провести суммарные расчеты, поэтому использую один и тот же алгоритм, меняя только имена таблиц public sub work(tablename as string) dim strSQL as string dim dbq as QueryDef 'здесь описаны действия которые тебе надо сделать strSQL = "SELECT * FROM " & tablename set dbq = db.CreateQueryDef("Запрос") dbq.sql = strrSQL set rsq = dbq.OpenRecordset ... end sub и эту процедуру вызывать столько раз сколько тебе нужно, меняя только имя таблицы, с которой ты хочешь работать или что-то не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2005, 14:49:15 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2166935]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
218ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 537ms |

| 0 / 0 |
