In onderstaande code (uit Excel/VBA) worden 2 querys uitgevoerd. In de eerste wordt serverside een id gegeneerd. Deze id wil ik in de 2e query gebruiken. Hoe moet ik dat aanpakken?
Ik heb het zonder succes geprobeerd met:
Het gaat fout bij last_id = "select last_insert_id()"
Deze wordt niet gevuld, als ik hier zelf een waarde invoeg werkt de rest wel naar behoren.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| Set wsCtcts = Worksheets("controleblad")
Set rs = New ADODB.Recordset
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
End With
Set wsCtcts = Worksheets("materialen")
Set rs = New ADODB.Recordset
With shtMaterialen
Dim row_pl As Integer
Dim strsql_pl As String
row_pl = 2
While Trim(.Cells(row_pl, 2)) <> ""
strsql_pl = "INSERT INTO is_platen (cnc, lengte_genest, lengte_nodig, breedte_genest, breedte_nodig, dikte, materiaal, aantal, snijtijd, machine) " & _
"VALUES ('" & esc(Trim(.Cells(row_pl, 1).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 2).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 3).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 4).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 5).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 6).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 7).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 8).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 9).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 10).Value)) & "')"
rs.Open strsql_pl, oConn, adOpenDynamic, adLockOptimistic
row_pl = row_pl + 1
Wend
End With |
Ik heb het zonder succes geprobeerd met:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| Set wsCtcts = Worksheets("controleblad")
Set rs = New ADODB.Recordset
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
Set wsCtcts = Worksheets("materialen")
Set rs = New ADODB.Recordset
With shtMaterialen
Dim row_pl As Integer
Dim strsql_pl As String
row_pl = 2
While Trim(.Cells(row_pl, 2)) <> ""
strsql_pl = "INSERT INTO is_platen (id_calculatie, cnc, lengte_genest, lengte_nodig, breedte_genest, breedte_nodig, dikte, materiaal, aantal, snijtijd, machine) " & _
"VALUES ('" & last_id & "','" & _
esc(Trim(.Cells(row_pl, 1).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 2).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 3).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 4).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 5).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 6).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 7).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 8).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 9).Value)) & "', '" & _
esc(Trim(.Cells(row_pl, 10).Value)) & "')"
rs.Open strsql_pl, oConn, adOpenDynamic, adLockOptimistic
row_pl = row_pl + 1
Wend
End With |
Het gaat fout bij last_id = "select last_insert_id()"
Deze wordt niet gevuld, als ik hier zelf een waarde invoeg werkt de rest wel naar behoren.