VBA如何找到最后一个插入ID?

时间:2010-03-21 19:22:40

标签: mysql excel vba lastinsertid

我有这段代码:

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 个答案:

答案 0 :(得分:1)

打开记录集后必须添加rs.movelast,这应该有帮助

答案 1 :(得分:1)

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