Formulier werkt maar crasht in ontwerpweergave?

Status
Niet open voor verdere reacties.

Monique75

Gebruiker
Lid geworden
6 mrt 2015
Berichten
40
Kan iemand mij helpen wat is er fout aan de volgende code? Op zich doet hij wat hij moet doen geen enkel probleem alleen als ik nu mijn formulier open in ontwerpweergave met de knop rechtsonderin mijn scherm (doe ik het vanuit het navigatievenster met rechtermuisknop gaat het wel) dan crasht mijn database. Uiteraard heb ik het ook uitgeprobeerd de code uit te zetten om te kijken of daarmee het probleem was verholpen en dan kan ik hem idd gewoon openen.

Nou kan ik natuurlijk gewoon de ontwerpweergave openen met de rechtermuisknop maar over een half jaar of een jaar ben ik dat natuurlijk allang weer vergeten :rolleyes:

Code:
Private Sub Form_Close()

   Dim stDocName As String
   Dim stLinkCriteria As String

   stDocName = "Schip_vastegegevens"
    
    stLinkCriteria = "[schip_id]=" & Me![Schip_id]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    
End Sub
 
Ik snap even niet wat je probleem is; welke versie van Access gebruik je? Ik heb bijvoorbeeld (A365) geen knop rechtsonderin. D.w.z.: knoppen genoeg natuurlijk, maar geen enkele die mijn formulier opent in Ontwerpweergave :). En als je bang bent dat je het over een half jaar weer vergeet, dan lijkt me dat het formulier je daar wel op wijst :D.
Je code is een standaardcode die door de wizard wordt gemaakt. Kan een stuk korter:
Code:
Private Sub Form_Close()
    DoCmd.OpenForm "Schip_vastegegevens", WhereCondition:="[schip_id]=" & Me.[Schip_id]
End Sub
Doet het met een punt, niet met een uitroepteken. Al kan ik me niet voorstellen dat dát het probleem is. Wellicht gebeurt er op het andere formulier iets waardoor de crash wordt veroorzaakt. Daarvoor zou ik de db moeten zien.
 
Heb mijn code vervangen door de jouwe maar was helaas zoals verwacht niet de oplossing

Ik weet dat mijn formulier me er wel op wijst maar het lijkt me ook niet goed voor de database als hij er de hele tijd uitklapt. Ben dan toch bang dat er iets anders niet goed zit.

Het is deze knop en ik gebruik de access app via office 365
Schermafbeelding 2020-09-25 161718.png

Zoals gezegd als ik het via het navigatiedeelvenster en dan met de rechtermuisknop het formulier open in ontwerpweergave dan werkt het wel.

En als formulier doet hij ook wat hij moet doen. Ik kom in het juiste formulier terecht.

Mijn werkdag zit er nu op en ben pas volgende week woensdag weer aanwezig.
De database is te groot om het nu snel terug te brengen naar het probleem met wat dummie informatie in zeer korte tijd. Dus dat wordt woensdag mocht er ondertussen niet alsnog een oplossing komen dan ga ik dat zeker doen. En hoop dat iemand het dan kan verklaren.
 
Een reden dat je formulier niet werkt, is omdat je geen rekening houdt met het feit dat je, zodra je een formulier sluit, de gegevens daarin kwijt bent. Je WHERE conditie gaat dus nooit werken. Probeer deze variant maar eens, met een extra knop.
Code:
Option Compare Database
Dim X As Variant, sID As Long

Code:
Private Sub Form_Close()
    DoCmd.OpenForm "Schip_vastegegevens", WhereCondition:="[schip_id]=" & sID
End Sub

Code:
Private Sub cmdSluiten_Click()
    sID = Me.[Schip_id]
    DoCmd.Close
End Sub

Hier leg je het te openen vast in een algemene variabele, die je vervolgens in de Close gebeurtenis gebruikt. Dat werkt (bij mij althans) prima. En dat kleine knopje rechtsonder? Die zie ik inderdaad ook, maar ik gebruik die dus never nooit niet; in de werkbalk zit een knop die twintig keer zo groot is, en die ik dus met mijn ogen dicht nog kan raken als ik wil switchen tussen Ontwerp en Weergave. Vind ik dus écht heel veel makkelijker :).
 
Het gekke is dat het formulier het wel doet.

Ben er wel achter dat het fout gaat op het moment dat je het formulier wil openen in ontwerp weergave wanneer je hem als formulier geopend hebt het daar fout gaat (waarschijnlijk ook op de where conditie, aangezien als ik die er tussenuit haal het wel goed gaat alleen opent hij dan natuurlijk niet het formulier met de juiste gegevens)

Ik ga stoeien met je optie hierboven echter moet men dan het formulier altijd sluiten met de knop en werkt het niet met het kruisje.

Hahaha en welke knop men het fijnst vind om te gebruiken is persoonlijk en wat je gewent bent :D maar als ik het formulier eerst open en dan op ontwerp weergave druk crasht hij dus ook met de jou bedoelde knop en dus ook met de rechtermuisknop oplossing van mezelf, die werkt dus alleen als het formulier niet is geopend.

Weet niet of ik van de week veel tijd heb om hier aan te werken maar ik kom er op terug.

Bedankt alvast voor het meedenken
 
... maar als ik het formulier eerst open en dan op ontwerp weergave druk crasht hij dus ook met de jou bedoelde knop en dus ook met de rechtermuisknop oplossing van mezelf, die werkt dus alleen als het formulier niet is geopend.
En dát gebeurt dus omdat er in het formulier bepaalde acties verwacht worden die niet gebeuren als je het formulier vanuit de formulierweergave omzet naar de Ontwerpweergave. Je maakt dan dus de verwachte code niet af. Dat moet je dus eerst afvangen als je dat wilt voorkomen. Overigens zou alleen de ontwerper/beheerder van de database daar tegenaan mogen lopen, en die dient uiteindelijk dan toch wel beter te weten dan steeds dezelfde 'fout' te maken :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan