[Access] Form_Load bij access sluiten?

Pagina: 1
Acties:

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Hallo,

Ik weet niet hoe het kan, of waardoor het veroorzaakt word, maar ik heb een nasty "bugje" in mijn access applicatie met forms. Als ik Form_Load normaal aanroep gaat er wat code standaard dingen instellen. Maar wat blijkt als ik dat venster open hou en ik druk op mijn micrsoft access kruisje.. dus echt heel access afsluiten roept access zelf nog 1x form_load aan, maar geeft dan een bug dat hij geen waarde kan toekennen aan het object. Als ik een ander form dat geen code heeft die standaard waarde set met de applicatie sluit krijg ik deze bug niet MAAR als ik een msgbox 'test" bij form load zet zie ik wel dat hij altijd bij het sluiten van access ook form load aanroept :S

Ik snap er helemaal niks van, en op internet zag ik wel een paar jongens met hetzelfde probleem maar die werden voor gek aangekeken, ik heb enkel toch hetzelfde probleem!

Mijn vraag is eigenlijk, heeft iemand dit probleem ook wel eens gehad, en wat kan ik hiertegen doen!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Zoals je het beschrijft is het mij volslagen onbekend. In eerste instantie zou ik het zoeken in objecten die niet volledig geinititaliseerd worden, niet worden opgeruimd, of kruisverwijzingen tussen objectvariabelen o.i.d. Wat gebeurt er als je je code verplaatst naar form_open()?
Om welke versie van Access gaat het?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Met form_open krijg ik dezelfde bug als met afsluiten maar alleen dan bij het openen (is denk ik ook logisch, form_load is er voor gemaaktom data te wijzigen als de data geladen is... )

Hier word gebruik gemaakt van MS Access 2002, engelse versie.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Kun je die db ergens online zetten?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Nee, dat helaas niet, bevat ook veel "gevoelige" gegevens. Ik kan wel de code laten zien, denk alleen niet dat je er veel aan hebt.

Dit gebeurd in de form_load:
code:
1
2
3
4
5
6
  Me.LstReedsAanwezig.RowSource = "SELECT DISTINCT [tbl artikel].artId, [tbl artikel].artNr, [tbl artikel].artOmsComm, [tbl artikel status].artsOms, [tbl artikel status].artsId, [tbl artikel].artProductNummer FROM ([tbl artikel status] INNER JOIN [tbl artikel] ON [tbl artikel status].artsId = [tbl artikel].artArtsId) INNER JOIN tblArtikelLeverancier ON [tbl artikel].artId = tblArtikelLeverancier.arlartId WHERE ((([tbl artikel status].artsId)<>2);"
  Me.ListPrijstabel.RowSource = "SELECT QryPrijsdoorvoertabel.ID, QryPrijsdoorvoertabel.artnr, QryPrijsdoorvoertabel.omschrijving1, QryPrijsdoorvoertabel.kltBedrijfsNaam, QryPrijsdoorvoertabel.nieuweprijs FROM QryPrijsdoorvoertabel ORDER BY QryPrijsdoorvoertabel.nieuweprijs;"
  MsgBox "test" 'deze was voor testen hij laat dus deze test zien bij kruisje
  Me.Leverancier = 0

  Me.nieuweprijs = ""


edit: ik heb ontdekt dat de bug alleen ontstaat als je iets "set" zoals Me.leverancier = 0 of Me.eenOfAndereVariabeleOfBoundDing = Waarde etc.. zolang er alleen andere soort functies in form load staan treed de bug dus niet op, maar omdat in dit scherm me.leverancier op 0 word gezet gebeurd het hier wel...

[ Voor 19% gewijzigd door semicon op 18-08-2007 11:42 . Reden: foutje in zin voor code :P ]