powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать id (тип счётчик) только что вставленной строки?
25 сообщений из 48, страница 1 из 2
Как узнать id (тип счётчик) только что вставленной строки?
    #32267938
сабж

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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