VBA Как найти последний идентификатор вставки? - PullRequest
0 голосов
/ 21 марта 2010

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

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 ]

1 голос
/ 21 марта 2010
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
1 голос
/ 21 марта 2010

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

...