Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать id (тип счётчик) только что вставленной строки? / 25 сообщений из 48, страница 1 из 2
17.09.2003, 15:20
    #32267938
Как узнать id (тип счётчик) только что вставленной строки?
сабж

Спасибо!
...
Рейтинг: 0 / 0
17.09.2003, 15:21
    #32267940
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
mdb или Adp?
Как вставляешь?
...
Рейтинг: 0 / 0
17.09.2003, 15:24
    #32267954
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Самое простое:

Dim rs As Recordset
...
rs.AddNew
peremennaya = rs!pole
...
rs.Update
...
Рейтинг: 0 / 0
17.09.2003, 15:28
    #32267963
Как узнать id (тип счётчик) только что вставленной строки?
mdb
Вставляю через rs.AddNew();

Владимир Саныч:
Если я правильно понял, то после rs.AddNew() rs("id") будет равен id этой записи?
...
Рейтинг: 0 / 0
17.09.2003, 15:34
    #32267976
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Точно так.
...
Рейтинг: 0 / 0
17.09.2003, 15:35
    #32267982
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Если я правильно понял, то после rs.AddNew() rs("id") будет равен id этой записи?
Ой не факт что именно так

Лучше
Код: plaintext
1.
2.
3.
4.
5.
rst.AddNew
....
....
rst.Update
rst.Bookmark = rst.LastModified
peremennaya = rst![ID]
...
Рейтинг: 0 / 0
17.09.2003, 15:37
    #32267985
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Саныч, по-твоему получается, что
Код: plaintext
rst.AddNew : rst.CancelUpdate

будет инкрементировать счетчик?
Хм, может и так... Проверю.
...
Рейтинг: 0 / 0
17.09.2003, 15:38
    #32267988
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
будет инкрементировать счетчик?
Хм, может и так... Проверю.


Во как. ЛП, сеня ж тока четверг :)
...
Рейтинг: 0 / 0
17.09.2003, 15:43
    #32267995
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Да, чего-то я стормозил...
Действительно так

2 Geo
Сегодня среда
...
Рейтинг: 0 / 0
17.09.2003, 15:44
    #32267997
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
2ЛП
%)))
...
Рейтинг: 0 / 0
17.09.2003, 15:55
    #32268015
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Лох пришел!!! Ура. Это надо отметить.

...Не, стоп. Пусть Лох сначала раскидает те вопросы, которые сейчас есть...
...
Рейтинг: 0 / 0
17.09.2003, 15:56
    #32268016
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Несмотря на то, что сегодня среда, считаю более правильным опряделять ID добавленной записи после собственно добавления, а не до.
Не доверяю я этим счетчикам... Особенно после того, как начал регулярно наблюдать дублирование значений (в случае если индекс уникальный отсутствует).
Хз - когда там аксес новый номер получает, когда он его резервирует, не поменяет ли он его в момент .Update...
...
Рейтинг: 0 / 0
17.09.2003, 15:58
    #32268022
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
2 ВС
Да я вообще-то болею и дома сижу (лежу), так что мозг потихоньку грибами порастает, особо на меня сегодня можно не расчитывать.
...
Рейтинг: 0 / 0
17.09.2003, 16:02
    #32268026
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
2ЛП
Ты эта. Выздоравливай давай. А то болеть фигово. :)
...
Рейтинг: 0 / 0
17.09.2003, 16:02
    #32268027
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Это плохо, неправильно и несправедливо, что ты болеешь. Ты, можно сказать, самый яркий персонаж на всем форуме. Давай поправляйся. Мы за тебя будем пить.
...
Рейтинг: 0 / 0
17.09.2003, 16:26
    #32268083
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Лох>мозг потихоньку грибами порастает...

Лох, поаккуратнее там с грибами, под грибы совсем другие песни петься начинают
...
Рейтинг: 0 / 0
17.09.2003, 16:33
    #32268092
TatianaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
например такие:
пусть всегда будет водка, колбаса и селёдка!!!

ой!
...
Рейтинг: 0 / 0
17.09.2003, 17:05
    #32268170
Bor-L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Следует отметить, что вариант, предложенный ВС позволяет использовать Id для формирования поля сразу внутри новой записи, а вариант ЛП - нет
У меня, например, так формируется уникальное поле "Id.НомерФилиала"
...
Рейтинг: 0 / 0
17.09.2003, 17:16
    #32268191
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
2 Bor-L
И ты уверен, что оно не поменяется в момент добавления?
Для этого надо четко себе представлять, как именно работает аксес со счетчиками. И быть уверенным, что этот механизм не изменится с каким-нибудь сервиспаком. У меня нет ни четкого представления (так, могу что-то додумать от себя), ни уверенности.

Запись, еще не добавленная в таблицу - можно считать еще не существует. ID-шник несуществующей записи - смысла не имеет.

У меня, например, так формируется уникальное поле "Id.НомерФилиала"
Ну а это уже совсем непонятное решение. Зачем так нужно? Ну да и хрен бы с ним. К теме мало относится

Кажись я начинаю выздаравливать
Вот что значит дружеская поддержка
...
Рейтинг: 0 / 0
17.09.2003, 17:33
    #32268224
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
> Запись, еще не добавленная в таблицу - можно считать еще не существует. ID-шник несуществующей записи - смысла не имеет.

Это явная передозировка философии. Так можно потерять веру во все: в переменные, в таблицы, в реальность окружающего мира...
...
Рейтинг: 0 / 0
17.09.2003, 17:48
    #32268260
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
Да никакая это не передозировка.
Аксес при добавлении записи в таблицу со счетчиком, очевидно, выполняет следующие шаги:
1. Получить новый ID
2. Инкриментирует значение счетчика в таблице.

Как показывает практика, на этапе 1 разные пользователи могут получить одинаковое значение - в случае если уникальный индекс не стоит. При этом действительно добавляются разные записи с одинаковым значением в поле типа счетчик.
Как показывает та же практика - если стоит уникальный индекс, то дублирования первичного ключа не наблюдается (хотя и такое у меня бывает, причем только со счетчиками ).

Внимание вопрос - в случае наличия уникального индекса аксес а) под другому получает ID (с дополнительной блокировкой) или б) в момент Update'а выполняет все необходимые проверки на значения (которые он и так выполняет, независимо ни от каких счетчиков), и, если счетчик продублировался, то еще раз получает ID?

Если кто-нибудь способен на этот вопрос ответить со ссылкой на какие-нибудь источники - то вперед. Я могу только строить предположения, которые ничем доказать не получается. Поэтому предпочитаю ID-шник добавленной записи определять уже после добавления, а не в процессе.
...
Рейтинг: 0 / 0
17.09.2003, 17:52
    #32268268
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
>Так можно потерять веру во все: в переменные, в таблицы, в реальность окружающего мира...

Главное - не потерять веру в Тяпницу - она вылечит :)


2ЛП
Давным давно как-то эксперементировал: стоит вызвать AddNew - формируеться ID, если поставить точку останова, то другим конектам будет дано следующее по-возрастанию ID, если и вних ставить точку останова, то все-равно Jet раздаст всем по-уникальному номеру.
Так что можно не париться, надо лишь отследить Error в случае ошибки сохранения и сбросить нафиг полученное значение.
...
Рейтинг: 0 / 0
17.09.2003, 17:54
    #32268273
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
2 Сенин Виктор
Если бы все было так пушисто как ты описываешь - я бы и не парился.
Однако (блин, в третий раз за один топик повторяю) - периодически наблюдал дублирующиеся счетчики. Значит не все так пушисто.
...
Рейтинг: 0 / 0
17.09.2003, 18:04
    #32268295
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
>Однако (блин, в третий раз за один топик повторяю) - периодически наблюдал дублирующиеся счетчики

Там где нет уникального первичного ключа? Дык у меня таких счетчиков и нет (и не было, да и не будет) Хотя инфа интересная.
...
Рейтинг: 0 / 0
17.09.2003, 18:08
    #32268304
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать id (тип счётчик) только что вставленной строки?
> периодически наблюдал дублирующиеся счетчики.

Это значит, что счетчики могут дублироваться. Но это не значит, что в процессе добавления записи значение счетчика может меняться.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать id (тип счётчик) только что вставленной строки? / 25 сообщений из 48, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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