VBA Wie finde ich die letzte Einfüge-ID? - MySQL, Excel, VBA, LASEINSERIDID

Ich habe diesen Code:

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

Die Zeichenfolge last_id ist nicht gefüllt. Was ist falsch? Ich muss te last_insert_id finden, damit ich es in einer anderen Abfrage verwenden kann.

Antworten:

1 für die Antwort № 1

du musst hinzufügen rs.movelast Nachdem Sie das Re-Cord-Set öffnen, sollte das helfen


1 für die Antwort № 2
last_id = "select last_insert_id()"

Sie haben festgelegt, dass die SQL-Anweisung ausgeführt werden soll, aber nicht nicht ausgeführt.
Anruf rs.Open mit der obigen Anweisung, um stattdessen die "last_insert_id" zu erhalten.

Wenn mysql mehrere SQL-Anweisungen in einer Zeile unterstützt, könnten Sie das tun

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