Springen naar inhoud


- - - - -
VS 2015

Vba Access. Error 3021

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 1 reacties in dit onderwerp

#1 kptptt

kptptt

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 02 dec 2018 21:14

Geplaatst op 02 december 2018 - 18:40

Hallo. Ik heb een formulier met een keuzelijst met invoer vak waarbij een adres uit de db kan worden opgezocht. Als dit adres in de query is gevonden, dan worden enkelen velden van de gevonden record gepresenteerd. Vervolgens worden nog maximaal zes andere records behorende bij dit adres opgezocht en de velden in het formulier getoond. Als ik een willekeurig adres selecteer, dan werkt dit in eerste instantie goed maar bij de laatste zes adressen aan het einde van de query krijg ik steeds de foutmelding: "Fout 3021 tijdens uitvoering. Geen huidige record." Wat kan ik doen, waar zit het probleem? Alvast bedankt.

Code:
Private Sub Keuzelijst7_AfterUpdate()

Dim rsClone As DAO.Recordset
Dim sCriteria As String
Dim sAdres As String
Dim sNum As String
Dim sPlaats As String
Dim OpdrachtID As String
Dim sOpdracht As String
Dim Count As Integer
OpdrachtID = ""
Const sSearchField As String = "[Opdracht ID]"

'Keuzelijst7, Zoeken
If Not IsNull(Me.Keuzelijst7.Value) Then
Set rsClone = Me.RecordsetClone
sCriteria = sSearchField & "=" & Me.Keuzelijst7.Value
rsClone.FindFirst sCriteria

		 If rsClone.NoMatch Then
		 MsgBox "Record niet gevonden"
	 Else
		 Me.Bookmark = rsClone.Bookmark
	 End If

End If
sAdres = DLookup("[Adres]", "Opdrachten", "[Opdracht ID]=" & Me.Keuzelijst7.Value) 'Bepaal het adres
sNum = DLookup("[Huisnummer]", "Opdrachten", "[Opdracht ID]=" & Me.Keuzelijst7.Value) 'Bepaal het huisnummer
sPlaats = DLookup("[Plaats]", "Opdrachten", "[Opdracht ID]=" & Me.Keuzelijst7.Value) 'Bepaal de plaats
Me.[Tekst302] = sAdres
Me.[Tekst314] = sNum
Me.[Tekst304] = sPlaats

rsClone.MoveFirst
Count = 0
Do Until rsClone.EOF
If (sAdres = rsClone![Adres]) And (sNum = rsClone![Huisnummer]) Then
	 If Count = 0 Then
		 sOpdracht1 = rsClone![Opdracht ID]
		 Me.[Tekst36] = rsClone![Datum opdracht]
		 Me.[Tekst32] = rsClone![Werknummer]
		 Me.[Tekst47] = rsClone![Opdrachtgever ID]
		 Tekst47 = DLookup("[Bedrijf]", "Opdrachtgevers", "[Opdrachtgever] = " & Tekst47) 'Nodig door de relatie met tabel Opdrachtgevers, haal naam Opdrachtgever
		 Me.[Tekst34] = rsClone![Opdrachtnummer opdrachtgever]
		 Me.[Tekst38] = rsClone![Titel werkomschrijving]
		 Count = Count + 1
	 End If
		 rsClone.MoveNext
		
	 If (sAdres = rsClone![Adres]) And (sNum = rsClone![Huisnummer] And Count = 1) Then
		 sOpdracht2 = rsClone![Opdracht ID]
		 Me.[Tekst56] = rsClone![Datum opdracht]
		 Me.[Tekst54] = rsClone![Werknummer]
		 Me.[Tekst60] = rsClone![Opdrachtgever ID]
		 Tekst60 = DLookup("[Bedrijf]", "Opdrachtgevers", "[Opdrachtgever] = " & Tekst60) 'Nodig door de relatie met tabel Opdrachtgevers, haal naam Opdrachtgever
		 Me.[Tekst58] = rsClone![Opdrachtnummer opdrachtgever]
		 Me.[Tekst62] = rsClone![Titel werkomschrijving]
		 Count = Count + 1
	 End If
		 rsClone.MoveNext
		

													 'Enzovoort tot 7 maal
	 End If
		 rsClone.MoveNext
Loop
rsClone.Close
Set rsClone = Nothing
End Sub



#2 kptptt

kptptt

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 02 dec 2018 21:14

Geplaatst op 02 december 2018 - 21:13

Ik denk dat ik het probleem herken. De teller (Count) moet tot 7 kunnen tellen. Bij de laatste records komt de teller nooit bij 7 en geeft een foutmelding.





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)