![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог следующего update на Access-e [MySQL, Access]
Dmitry S © (2008-08-05 18:28:00)MySQL:
SET @i=0;
UPDATE `table` SET `field`=(@i:=@i+1) WHERE ... ORDER BY [name];
Как сделать тоже самое на Access-e?
Устно говоря, задача такая: пронумеровать по порядку таблицу в при определенной сортировке.
Сергей М. (2008-08-06 11:30:00) [41]
> Dmitry S © (06.08.08 11:20) [8]
Скажи, зачемтебе понадобилась нумерация на сервернойстороне ?
stas (2008-08-06 11:29:00) [42]Dmitry S © (06.08.08 11:20) [8]
А вчем смысл задачи?
может пойдет просто добавления поля счетчика? или нумерация на клиенте?
Dmitry S (2008-08-06 11:27:00) [43]Вот такой, например, вариант еще:
UPDATE [table] SET [pos]=0 WHERE <...>;
UPDATE [table] SET [pos]=1 + (SELECT COUNT(*) FROM [table] WHERE <...> AND [pos]<>0) WHERE <...> ORDER BY <...>;
Если, конечно, Jet поддерживает UPDATE ... ORDER BY ...;
Dmitry S (2008-08-06 11:20:00) [44]Я об использовании переменных вообще.
Например, решение данной задачи я пока не вижу проще, точнее вообще пока никак не вижу, кроме как выполнить запрос SELECT, пронумеровать вручную, а потом несколько UPDATE-ов.
Сергей М. (2008-08-06 10:49:00) [45]Сначала поясни, в чем заключается "удобство" ..
Dmitry S (2008-08-06 10:36:00) [46]
> Сергей М. © (06.08.08 10:26) [5]
Есть идеи как выполнить задачу?
Сергей М. (2008-08-06 10:26:00) [47]
> Standart Jet DB
Нет там такого аналога.
Dmitry S (2008-08-06 10:22:00) [48]
> Что подразумевается под Access - контейнерный формат или
> само приложение ?
Standart Jet DB через ADO имею ввиду :)
> Странного желаете, барин...
А что странного? Очень удобно.
Сергей М. (2008-08-06 08:33:00) [49]
> Как сделать тоже самое на Access-e?
Что подразумевается под Access - контейнерный формат или само приложение ?
А вообще см. [2] )
Johnmen (2008-08-05 21:35:00) [50]Странного желаете, барин...
Dmitry S (2008-08-05 18:40:00) [51]кавычки у name, конечно, должны быть другие.