VBA Как найти последний идентификатор вставки?

У меня есть этот код:

With shtControleblad
    Dim strsql_basis As String
        strsql_basis = "INSERT INTO is_calculatie (offerte_id) VALUES ('" & Sheets("controleblad").Range("D1").Value & "')"

        rs.Open strsql_basis, oConn, adOpenDynamic, adLockOptimistic

        Dim last_id As String
        last_id = "select last_insert_id()"
End With

Строка last_id не заполнена. Что случилось? Мне нужно найти te last_insert_id, чтобы я мог использовать его в другом запросе.

2 ответа

Ты должен добавить rs.movelast после открытия набора записей это должно помочь

last_id = "select last_insert_id()"

Вы задали выполнение оператора sql, но не выполнили его.
Вызов rs.Open с помощью вышеприведенного оператора, чтобы получить вместо него 'last_insert_id`.

Если mysql поддерживает несколько операторов SQL в одной строке, вы можете сделать

strsql_basis = "INSERT INTO is_calculatie (offerte_id)  
VALUES ('" & Sheets("controleblad").Range("D1").Value & "')
; select last_insert_id()"

rs.Open strsql_basis, oConn, adOpenDynamic, adLockOptimistic
Другие вопросы по тегам