Herman Grosbart

Herman Grosbart działalność
gospodarcza, eMka

Temat: Jak w VBA odczytać ID tworzonego rekordu

Witam wszystkich

To jest problem niby zbliżony do opisanego w poprzenim wątku, ale jednak na tyle inny, że pozwoliłem sobie na odrębne pytanie. Przepraszam też, że powtarzam swój wątek z forum "MS Access w praktyce".

W accessie mam tabelę MyTable i w niej pole ID, które jest typu auto_increment.

Gdy robię tak:
Set MyRecordset = CurrentDb.OpenRecordset(MyTable)
MyRecordset.AddNew
to w tym momencie już mogę odczytać wartość ID tego rekordu:
IDrekordu = MyRecordset!ID

Ale gdy przeniosłem dane na SQLServer i tabela MyTable stała się tabelą podłączoną, wartość w polu ID pojawia się dopiero po zapisaniu rekordu. W związku z tym nie umiem jej odczytać, bo gdy daję
Set MyRecordset = CurrentDb.OpenRecordset(MyTable)
MyRecordset.AddNew
MyRecordset.Update
IDrekordu = MyRecordset!ID
to dostaję jako IDrekordu wartość ID pierwszego rekordu w tabeli.

Jak mogę uzyskać wartość tego ID?

Odczytanie maksymalnej wartości ID nie wchodzi w grę, bo potrzebuję pewności, że to ID rekordu, utworzonego przeze mnie, a nie innego rekordu, który zapisał ktoś równocześnie ze mną.

Z góry dziękuję za pomoc
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: Jak w VBA odczytać ID tworzonego rekordu

Witamy Ciebie,

Na podstawie:
https://msdn.microsoft.com/en-us/library/bb208485(v=off...
Proponuję:
Set MyRecordset = CurrentDb.OpenRecordset(MyTable)
With MyRecordset
.AddNew
.Bookmark = .LastModified
.Update
End With
IDrekordu = MyRecordset.Field(0)

Pozdrawiam!
Herman Grosbart

Herman Grosbart działalność
gospodarcza, eMka

Temat: Jak w VBA odczytać ID tworzonego rekordu

Proponuję:
Set MyRecordset = CurrentDb.OpenRecordset(MyTable)
With MyRecordset
.AddNew
.Bookmark = .LastModified

Bardzo dziękuję - działa!



Wyślij zaproszenie do