Hej! Hej Carina! Hej Peter! Om du talar om vad du vill åstadkomma?Recordsets i nästlade WHILE-loopar
Nu har jag gett mig in på VBA och har problem med nedanstående kod.
Den kör den inre WHILE-loopen som den ska och lägger in i tabellen. Men sedan fortsätter den inte att köra den yttre WHILE-loopen ett andra varv fast det finns kvar records i den. Kommenterar jag bort den inre WHILE-loopen, så kör den yttre alla varv som den ska.
Vad kan jag ha missat?
Mycket tacksam för hjälp!
'Skapar ett recordset för Kontrakt-tabellen
Dim cnn1 As ADODB.Connection
Set cnn1 = CurrentProject.Connection
Dim myRecordSet As New ADODB.Recordset
myRecordSet.ActiveConnection = cnn1
myRecordSet.Open "SELECT kontrakt_nr FROM KONTRAKT"
myRecordSet.MoveFirst
'Skapar ett recordset för Omsättnings-tabellen
' Dim cnn2 As ADODB.Connection
'Set cnn2 = CurrentProject.Connection
Dim myRecordSet2 As New ADODB.Recordset
myRecordSet2.ActiveConnection = cnn1
myRecordSet2.Open "SELECT ÅrMånad FROM OMSÄTTNING"
myRecordSet2.MoveFirst
Dim mySQL3 As String
While Not myRecordSet.EOF
While Not myRecordSet2.EOF
mySQL3 = "INSERT INTO saknarbelopp ( [kontrakt_nr]) VALUES ('" & myRecordSet.Fields(0).Value & "')"
DoCmd.RunSQL mySQL3
myRecordSet2.MoveNext
Wend
myRecordSet.MoveNext
WendSv: Recordsets i nästlade WHILE-loopar
När du har lopat igenom myRecordSet2 och går till nästa post i myRecordSet behöver du nog lägga in ett
myRecordSet2.MoveFirst
så du på nytt kan loopa igenom dessa.
Lägg in raden mellan dina Wend.Sv:Recordsets i nästlade WHILE-loopar
Tack så jättemycket för hjälpen! :-)
Tänkte inte på att man måste köra moveFirst igen på den inre loopen. Nu fungerar det som det ska och jag kan fortsätta bygga vidare på koden.Sv: Recordsets i nästlade WHILE-loopar
Finns möjligheten att du skulle kunna göra det med en Insertfråga.