Dim strFldName1 As String Dim strfldName2 As String Dim i As Integer
Dim rs1 As ADODB.Recordset Dim rs2 As ADODB.Recordset
Set rs1 = New ADODB.Recordset Set rs2 = New ADODB.Recordset
DoCmd.SetWarnings False
rs1.Open "Select SerieNr from IT_tilmeld", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic rs2.Open "Select DISTINCT SerieNr from support", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic For i = 0 To rs1.Fields.Count - 1 strFldName1 = rs1.Fields(i).Value strfldName2 = rs2.Fields(i).Value If strFldName1 <> strfldName2 Then DoCmd.RunSQL "INSERT INTO support (SerieNr, Historik) SELECT '" & strFldName1 & "', Historik FROM DummySupport"
End If Next i
rs1.Close rs2.Close
det ser ikke ud til at loopet kører mere end én gang igennem. I dette tilfælde bør den køre tre gange, da der er tre records i IT_tilmeld den bør indsætte
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Så skal du hvade et do while not rs1.EOF ...kode... loop omkring. Ellers tager den kun den føste record. For sætningen looper kun gennem kolonneerne for en record:
rs1.Open "Select SerieNr from IT_tilmeld", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic
do while not rs1.EOF rs2.Open "Select DISTINCT SerieNr from support", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic For i = 0 To rs1.Fields.Count - 1 strFldName1 = rs1.Fields(i).Value strfldName2 = rs2.Fields(i).Value If strFldName1 <> strfldName2 Then DoCmd.RunSQL "INSERT INTO support (SerieNr, Historik) SELECT '" & strFldName1 & "', Historik FROM DummySupport"
End If Next i
rs1.Movenext 'vigtig for ikke at få et uendeligt loop loop
Arh det er for rs2 så den skal ogsdå ud foran loopet:
rs1.Open "Select SerieNr from IT_tilmeld", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic rs2.Open "Select DISTINCT SerieNr from support", CurrentProject.Connection, _ adOpenKeyset, adLockOptimistic
do while not rs1.EOF For i = 0 To rs1.Fields.Count - 1 strFldName1 = rs1.Fields(i).Value strfldName2 = rs2.Fields(i).Value If strFldName1 <> strfldName2 Then DoCmd.RunSQL "INSERT INTO support (SerieNr, Historik) SELECT '" & strFldName1 & "', Historik FROM DummySupport"
End If Next i
rs1.Movenext 'vigtig for ikke at få et uendeligt loop loop
vb-wanna-b>is there only ONE record in rs2 or can there be more than one? DISTINCT just makes sure that you only get each SerieNr once, but if there are more than one DISTINCT then you will need to loop.
It shard to give a solution when we dont know exactly what you are trying to do!
solved....due to stupidity.. I just saw that I based my form on support which can be empty...creating a new form based on IT_tilmeld solved that hole mess...geez...I made that formular so long ago, that it was a pure luck I saw it....
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.