Per ottenere il nuovo id in cui fare l'INSERT puoi usare questa funzione,
gli passi il nome della tabella, il nome della colonna e ti restituisce l'Id più alto
Data una determinata tabella ed una determinata colonna, ottiene l'id più alto
Public Function Containdice(ByVal nomecol As String, ByVal nometab As String)
'Data una determinata tabella e colonna, ottiene l'id massimo registrato in quella tabella
Dim idriga As Object
Dim StringaConnessione As String = "La tua connessione al database"
Dim conn As New SqlClient.SqlConnection()
conn.ConnectionString = StringaConnessione
Dim query As New SqlCommand
query.CommandText = "Select MAX (" & nomecol & ") From " & nometab & ""
query.CommandType = CommandType.Text
query.Connection = conn
conn.Open()
idriga = query.ExecuteScalar
conn.Close()
Return (idriga)
End Function
poi per ottenere il nuovo id ti basterà fare
idriga = Containdice("nome tabella","nome colonna") + 1