Требуется помощь по Access
2531
14
Имеется некоторый список (база данных А) параметров под нумерацией. При выполнении некоторых условий один из параметров с порядковым номером i базы А должен быть перемещен в другую таблицу (базу данных В). Последующий параметр в базе А должен переместиться на его место с присвоением порядкового номера i, т.е. должна сохраниться в базе А нумерация п/п.
Как это возможно осуществить… формула…. я не знаю – еще что?
Спасибо:D
Сразу добавлю - формула не пройдет.
Нужна обработка. И элементарное знание основ работы с СУБД. :ухмылка:
пусть поле id;

тогда два запроса в аксессе, запущеные с одним параметром, выполнят задачу:

Удаляем запись: (rid - номер удаляемой записи)
PARAMETERS rid Long;
DELETE *
FROM Table1
WHERE id=rid;

Теперь меняем индексы:
PARAMETERS rid Long;
UPDATE Table1 SET id = [id]-1
WHERE id>rid;

в фукнции на VB можно просто два запроса подряд вызвать.

могу выслать базу с примером.
А INSERT INTO Table2 (SELECT * FROM Table1 WHERE Id=Rid) кто делать будет? :ха-ха!:
DrAnimal
пусть кому надо тот и делает. спросили: как поменять индексы. я ответил. остальные задачи меня не интересуют.
> один из параметров с порядковым номером i базы А должен быть перемещен в другую таблицу

Должен - почти обязан. :ха-ха!:

А пронумеровать строки UPDATE-м слабо? Начиная с 0...
DrAnimal
док, успокойся. форум создан для того, чтобы обмениваться информацией, а не искать клиентуру. в данном случае было очевидно, что проще привести простейший но работающий пример, а не отправлять RTFM.

а работы здесь ровно столько, сколько требуется понять, что хочется сделать. если он захочет написать полноценный продукт, с которым удобно работать, который ведет логи и контроль версий, и т.д. и т.п. он непременно к тебе обратится.
Сам успокойся.
Если тебе за каждым деревом поиск клиентуры видится, то это уже клиника. :ха-ха!: :ха-ха!: :ха-ха!:
вопрос, если этот номер i является ID кортежа базы А то как видится ситуация когда при переносе в базу Б где также i будет являться ID кортежа номер i будет уже занят?
Или я условие не правлильно понял?
tigo
Нуууу...
Тогда можно будет попытаться влупить, чтобы в INSERT-e какой-нить (Select max(id)+1 from table2) в id запихиваемой записи вставлялся.

Как-то все-таки мнится мне, чт старые добрые последовательные выборки были бы уместнее...
DrAnimal
Лично мне кажется вообще что все это гон, зачем переносить УЖЕ ИМЕЮЩУЮСЯ ЗАПИСЬ в другую таблицу? не проще ли сослаться на исходную? Если это действительно другая база - то ID из исходной базы должно быть выделено отдельным полем - тогда все вопросы уникальности снимаются, и задача ограничивается SELECT из исходной базы и INSERT в обновляемой базе
tigo
Ну, мало ли извращенцев на свете? :миг:
tigo
>tigo
Вообще-то не кортежа, а всего одной записи, хотя, конечно, кортеж может состоять и из одной... - это раз.
Два - а кто сказал, что переносить надо с ТЕМ ЖЕ id?
я так постаноку задачи понял...вообще действительно не надо переносить...