SELECT @@IDENTITY

Kelme
Дата: 03.06.2004 11:38:14
из фака по счётчикам:

A2: Более широкий круг применимости у такого способа:

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
CurrentProject.Connection.Execute "INSERT ..."
rs.Open "SELECT @@identity as cou", CurrentProject.Connection
переменная = rs!cou
rs.Close



Однако и этот способ имеет ограничения, а именно:

работает только через ADO, только в Jet 4 и позже, и только с базами формата Аксесса 2000 и позже;

--------------------------------------------------------------------------

Я может и торможу, скорей всего так и есть, но SELECT @@IDENTITY работает и через DAO:

Private Sub aaaa()
 Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("Table2")
    rst.AddNew
        rst!test = "AAAA"
    rst.Update
    Set rst = CurrentDb.OpenRecordset("SELECT @@IDENTITY as ID")
    Debug.Print rst!ID
End Sub

Прошу поправте меня скорей ;)
paparome
Дата: 03.06.2004 11:39:34
пиши через ХП и пользуй SCOPE_IDENTITY()
и не парься
Kelme
Дата: 03.06.2004 11:40:07
речь идёт не о ADP а о MDB
Victosha
Дата: 03.06.2004 11:40:54
2 paparome
это не про MS SQL Server.
тут опять про MDB
)))
ищ
Дата: 03.06.2004 11:43:38
поправляю
это новинка Jet 4
Kelme
Дата: 03.06.2004 11:50:48
IMHO, тогда в факе надо ету строчку
работает только через ADO, только в Jet 4 и позже, и только с базами формата Аксесса 2000 и позже
исправить на:
работает либо через ADO, либо через DAO в Jet 4 и позже, и только с базами формата Аксесса 2000 и позже
Владимир Саныч
Дата: 03.06.2004 11:58:35
Я сейчас поправлю.
Kelme
Дата: 03.06.2004 12:01:00
Безмерно рад, что внёс свой маленький вклад в общее дело ;)
Владимир Саныч
Дата: 03.06.2004 12:15:35
Поправлено. Kelme, спасибо от профкома и от парткома!