Opgelost fout in VBA code

Dit topic is als opgelost gemarkeerd
Ik open de database boeken en druk dan op Alt F11 en dan opent de VBA Editor met de code die daar bij horen ik zie dus bij foutopsporing waar F8 staat om stappen te maken door de code en waar ik de cursor ook neerzet er gebeurt niet wat er zou moeten gebeuren en dat ligt niet aan de uitleg maar ik doe dan iets fout. ik plaats even en foto van wat ik zie in de editor
 

Bijlagen

  • Schermafbeelding 2025-06-21 141514.jpg
    Schermafbeelding 2025-06-21 141514.jpg
    135,3 KB · Weergaven: 9
Laatst bewerkt:
Ik snap je plaatje niet helemaal (en ook sommige procedures niet die er staan, maar die hebben niks met de vraag te maken denk ik) maar ik vermoed dat je niet helemaal snapt waar je moet beginnen. Sowieso ga ik zelden na het openen van een dB gelijk naar het VBA venster, tenzij ik precies weet wat ik wil gaan doen.
In jouw geval had ik dus het volgende gedaan: formulier openen in de Ontwerweergave, de knop geselecteerd die je wilt aanpassen en dan in de Eigenachappen bij Gebeurtenis op de knop met drie puntjes klikken. Je komt dan in de juiste procedure terecht. Dat is vermoed ik de knop Afbeelding38 (nog een tip: zorg altijd voor een beschrijvende naam, zodat je weet wat de knop doet. Bijvoorbeeld cmdFoto)
Vervolgens zet je de cursor in de eerste (in dit geval enige) opdrachtregel. En dán druk je op <F8> en ga je met elke druk op <F8> naar de volgende uit te voeren regel. En op die manier kan je dus controleren of de procedure alles correct uitvoert.
 
Zoals je het omschrijft had ik het gedaan maar omdat ik geen reactie krijg bij het drukken op F8 (er gebeurt niks als ik de cursor op die regel zet voor of achter de tekst) had ik nog even gezocht op internet naar hoe je de procedure wel kon starten zag ik dat je ook op die manier zou kunnen doen, maar ook dan gebeurt er niks. bij deze code zet ik de cursor en druk op F8.
Code:
 DoCmd.OpenForm "foto subform", acNormal, , , acFormReadOnly, acDialog, CurrentProject.Path & "\Afbeeldingen\" & Me.Foto
 
Laatst bewerkt:
Er is natuurlijk ook een andere manier waarop we je misschien kunnen helpen. Dat is eindelijk eens te onthullen wat voor code er in het formulier "foto subforum" zit. Daar kan het ook misgaan.
 
Ik heb het vanmiddag gevonden wat er fout was waarom hij de foto niet liet zien van het boek in de Subform ,ik had daar in de code de volgende fout er stond afbeelding en er moest staan afbeelding34 . En ik snap de opmerking dat ik dat beter moet leren omschrijven. om het zoeken naar problemen sneller op te lossen. (duidelijkheid namen aangeven ). maar zou nog wel graag willen weten waarom ik Met F8 de procedure van en knop of afbeeldingsvak niet kan doorlopen zoals is aangegeven hier hoe ik dat zou moeten doen want dat is best wel handig om fouten te vinden in de code..
 
Als je in de linker kantlijn van je VBA codevenster klikt stel je een stop in. Uitvoering van de programmacode stopt dan op dat punt, vanaf daar kun je met F8 verder stapsgewijs door de code.
 
als ik op F8 druk gebeurt er niks , als dat zou gaan werken kan ik verder maar ik weet niet waarom dat niet werkt
 
Als je de stop hebt ingesteld start je daarna het onderdeel van het programma dat je wilt testen door op bijvoorbeeld de knop voor het openen van het betreffende formulier te drukken, uitvoering van de programmacode stopt dan bij de ingestelde stop. Vanaf daar kun je met F8 verder stappen. Op sommige laptops werkt F8 in combinatie met de Fn toets, is dat misschien bij jou het geval?
 
Ga op de regel staan waar je die stop (Break point) wilt instellen en druk dan op F9.
Er verschijnt dan een paars bolletje voor die regel en de regel zelf wordt paars.
Vervolgens doe je wat AHulpje zei in #28.
 
Vergeet de vorige opmerkingen (25, 28 en 29), want je hoeft echt geen onderbrekingspunt in te stellen. Zeker bij een procedure die maar één regel bevat, is dat volslagen onzin. En al helemaal in een Access formulier, waar je dan eerst in de cursor regel op <F9> moet drukken, dan (stap 2) het formulier in formulierweergave moet zetten, vervolgens (stap 3 alweer) op de knop moet drukken, waarna je in de code komt waar de cursor dan stil staat op de gemarkeerde regel. Alwaar je dus alsnog met <F8> verder moet. En dat moet je dan elke keer doen als je de dub opent... Kul dus.

Gewoon de cursor in de regel "DoCmd.OpenForm... " zetten en op <F8> drukken is voldoende. Wat wél een reden kan zijn, is dat je F8> toets pas actief is als je ook een andere knop indrukt. Dát is een kwestie van hoe je je toetsenbord hebt ingesteld.
Op een standaard computer werkt <F8> prima, maar op een laptop kan het pas als je ook de <Fn> toets indrukt. Niemand hier heeft een glazen bol, dus wat er bij jou gebeurt (of niet) kunnen wij op afstand nooit zien.
 
Bedankt @OctaFish het is gelukt, de F8 werkte zonder extra toets had ik al uitgezocht maar ik maakte de fout om te testen in de ontwerpweergave (lach maar ff) tja niet slim hier en de opmerking over de F9 had ik nog net eerder gezien. ook de andere tipgevers bedankt voor het meedenken. probleem is opgelost\
 
(lach maar ff)
Dat doen we nooit; je kunt iemand uiteraard nooit kwalijk nemen dat hij/zij iets onbekends niet kent :). Je hebt er weer wat van geleerd, en vermoedelijk zul je dit 'foutje' niet (vaak) meer maken!
 
Snap ik hoor was ook een grapje, en ik heb er zeker weer van geleerd en zal nog wel regelmatig en vraag hebben hier. Access is een prachtig programma waar ik graag mee bezig ben......
 
Terug
Bovenaan Onderaan