|
|
#1 |
|
Участник
|
update_recordset
Всем привет)
Помогите разрешить такую ситуацию: есть контейнер conRecId, который содержит набор RecId, полученных из некоторого запроса Query. Требуется выполнить нечто вроде update_recordset table1 setting table1.field1 = value where table1.recid in (conRecId) Как это можно сделать?
__________________
Step by step... |
|
|
|
|
#2 |
|
Участник
|
если значений не много, то можно сделать что-то типа
X++: update_recordset table1 setting table1.field1 = value where table1.recid like con2str(conRecId); |
|
|
|
|
#3 |
|
Banned
|
Чудес не бывает: создайте query, создайте в нем столько ranges, сколько элементов в контейнере. Следите, чтобы количество ranges не зашкалило за 400: jinx: Maximale Anzahl von Einschr?nkungen in einer Abfrage ?
Последний раз редактировалось EVGL; 04.09.2007 в 13:03. |
|
|
|
|
#4 |
|
Участник
|
что значит не много? чем ограничено это количество?
__________________
Step by step... |
|
|
|
|
#5 |
|
Участник
|
Ну, прежде всего, типом возвращаемого значения метода con2str.
У меня там str 1000, что неплохо. Помимо этого, смотрите пред. пост Евгения про кол-во фильтров. Самый простой способ - экспериментальным путем это выяснить
|
|
|
|
|
#6 |
|
Участник
|
2 kashperuk: разве можно в части where использовать контейнеры, компилятор по крайней мере не пропускает
__________________
Step by step... |
|
|
|
|
#7 |
|
Участник
|
Ну, это его просто глючит.
А вот если вынести преобразование в строку до обновления, то таки натыкаемся на проблему... Update_Recordset видимо глупая команда, и не может понять, что используется like, а соответственно, может быть перечень значений, то есть строка. Поэтому видимо таки придется построчно обвнолять. |
|
|
|
|
#8 |
|
Участник
|
Цитата:
![]() Видимо да))))) Спасибо за участие!!!
__________________
Step by step... |
|
|
|
|
#9 |
|
Участник
|
X++: InventTable it;
container c;
str 1000 s;
;
s = con2str(c);
update_recordset it
setting ItemId = "value"
where it.ItemId like s; |
|
|
|
|
#10 |
|
Участник
|
Да. Главное, чтобы это было не Мемо и не динамический str
|
|
|
|
|
#11 |
|
Участник
|
Вы точно убедились что будет работать ?
Цитата:
Like "Value1,Value2"
Цитата:
Like "Value*"
Последний раз редактировалось Logger; 04.09.2007 в 14:28. |
|
|
|
| За это сообщение автора поблагодарили: kashperuk (3). | |
|
|
#12 |
|
Moderator
|
Насколько я понимаю, Like "Value1,Value2" работать не будет.
__________________
Андрей. |
|
|