|
|
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Добавляю запись в таблицу с полем Id(тип AutoNumber) и хочу узнать, как получить значения поля Id добавленной записи? Использованиt ADO.Record set и Max(Id) нежелательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:02 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Ну что ж... Тогда используй DAO :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:04 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Если вы добавляете запись через recordset, то после addnew вы просто можете считать значение поля со счетчиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:10 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset CurrentProject.Connection.Execute "INSERT INTO Траты ( [Код Клиента], Сумма ) " _ & "values( 1 , 1000)" rst.Open "SELECT @@identity as dd", CurrentProject.Connection MsgBox rst!dd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:11 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
2 Хам трамвайный Маленький нюанс - это для SQL Server. И ещё один - в момент добавления на таблицу "Траты" срабатывает тригер по добавлению записи в другую таблицу - опань-ки - идентити уже не тот:) 2 GuDVin В аксесе делай селект поля autonumber с критериям для добавленной записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:14 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
> Маленький нюанс - это для SQL Server. Это также работает в mdb с ADO и jet 4 > И ещё один - в момент добавления на таблицу "Траты" > срабатывает тригер по добавлению записи в другую таблицу > - опань-ки - идентити уже не тот:) С этим тоже можно бороться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:16 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Других вариантов нет? Просто поиск строки с параметрами добавленной строки может не всегда привести к нужному результату (если есть строки отличающиеся только Id'ом). И MAX не всегда помогает(если запрос на добавление не выполнился) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:18 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
2 IgorM Про mdb честно говоря не знал. Про бороться-то в курес - есть несколько способов (на этом сайте в FAQ кажется описан) - просто решил, что стоит об этом написать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:20 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
To GuDVin Я вроде сказал другой вариант ... rs.AddNew Debug.Print rs!id ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:21 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Спасибо, но хотелось обойтись без ADO. Впрочем, вариант интересный... Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:33 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Вариант Serge Gavrilov работает и в DAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:38 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
а в DAO rs.AddNew никто не отменял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:40 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Судя по тому, что решение, типа одна строка с какой-нить функцией никто не предлагает, видимо и нет такого счастья... Все спасибо... Будем юзать ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:42 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
поиск строки с параметрами добавленной строки может не всегда привести к нужному результату (если есть строки отличающиеся только Id'ом). сам себе ответил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:45 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Это как же? Скорее вопрос поставил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 11:48 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Если >> GuDVin: Использованиt ADO.Record set и Max(Id) нежелательно то может быть поможет Last(Id)? Она вроде для того и заточена. Попробовал, работает и при добавлении через запрос и через rst.AddNew... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:16 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
Last плох по двум причинам: 1. В таблице без order by - порядок сортировки не гарантирован. Тогда уже лучше Max. 2. За время от добавки записи до получения Last (или Max) другой юзер может создать еще одну запись, и тогда будет получен его ID, а не наш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:20 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
значит перд инсертом блокировать таблицу инсерт вопрошать разблокировать но.... если есть строки отличающиеся только Id'ом то только через рекордсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:25 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч: 1. А функции Last не по барабану порядок сортировки? Она выбирает последнюю запись в хронолическом порядке. Хэлп: You use the First or Last functions to return the first or last record in the group you are performing calculations on. These functions return the first or last record as it was entered in chronological order. Sorting the records has no effect on these functions. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:32 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
You can use the DFirst and DLast functions to return a random record from a particular field in a table or query when you simply need any value from that field. Use the DFirst and DLast functions in a in a macro, module, query expression, or calculated control on a form or report. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:37 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
это я погорячилась наверное может Last в запросе таки правильно работает в отличии от DLast вопрос: зачем плодить записи которые отличаются только AutoNumberом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 15:46 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
2 TatianaT Абстрагируясь от вопроса о том, зачем это нужно... Я попробовал поиграть с Last в запросе и DLast из кода - результат одинаковый, обе функции всегда возвращают данные из последней добавленной записи. А зачем, решать не мне :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 16:05 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
а на каком количестве записей игрался? И в каком Акксесе? а вот это You can use the DFirst and DLast functions to return a random record from a particular field in a table or query when you simply need any value from that field. Use the DFirst and DLast functions in a in a macro, module, query expression, or calculated control on a form or report. взято из хелпа А97 я такое дело очень давно наблюдала в А97 на больших обьёмах и когда записи не подряд а в разнобой были а с Last вроде проблем не было а вопрос зачем плодить записи которые отличаются только AutoNumberом? был для автора топика хотя разные ситуации бывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 16:14 |
|
||
|
Получение значения AutoNumber добавленной записи
|
|||
|---|---|---|---|
|
#18+
2Hummer для SQL есть @@Identy (если я правильно написал) а для трггеров применени здесь очень хорошо описано у Senin(a) поищи по-моему тебе будет в тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2003, 16:21 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32241503&tid=1679548]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 399ms |

| 0 / 0 |
