Formulier sluiten en Open een ander formulier

Status
Niet open voor verdere reacties.

bikerron

Gebruiker
Lid geworden
9 mei 2009
Berichten
236
Hallo,
IK weet niet wat ik fout doe maar ben al een tijd aan knutselen om iets, volgens mij, simpels voor elkaar te krijgen.
Situatie: Inlogformulier, er wordt gecontroleerd of gebruiker bekend is.
Zo ja dan moet er een nieuw formulier worden geopend met de geboden functionaliteit voor de gebruiker.
Dat loopt allemaal gesmeerd.
Toen wilde ik het inlog formulier sluiten zodra de gebruiker bekend was.
Simpel met
Code:
DoCmd.Close acForm, Me.Form.Name
of met de alternatieven:
Code:
DoCmd.Close acForm, "FrmInLogin"
Code:
stDocNamClose AS String 
stDocNameClose = "FrmInlog"
  
    
    ' Sluit huidig formulier (inlogformulier)
    DoCmd.Close acForm, stDocNameClose

Ik krijg, nadat er een "geldige" gebruiker ingetikt is steeds de foutboodschap:
Fout2585.JPG

Als ik de code ingeef bij het "Start formulier" dan krijg ik dezelfde melding.
Ik doe iets verkeerds, maar zou niet weten wat.
Enig idee?

De volledige code:
Code:
Option Explicit

Private Sub controle_inlognaam_Exit(Cancel As Integer)
Dim ok
Dim StDocName As String
Dim stDocNameClose As String
Dim stLinkCriteria As String
ok = 0
' Controle of aangemelde gebruiker bekend is in gebruikers tabel en bewaar GebruikerId in ok
ok = DLookup("[gebruikerID]", "Gebruikers", "[inlognaam]= '" & Me.controle_inlognaam & "'")

If Not ok Then
    stDocNameClose = "FrmInlog"
    MsgBox ("Goede inlognaam, we gaan door")
    
    ' Sluit huidig formulier (inlogformulier)
    DoCmd.Close acForm, stDocNameClose
    
    '-- Open Algemeen Startformulier
    StDocName = "FrmAlgemeenStart-Admin"
    DoCmd.OpenForm StDocName, , , stLinkCriteria
    
    
 Else
   MsgBox ("Foutieve inlognaam, probeer opnieuw, mocht je naam nog niet voorkomen in de het systeem neem dan even contact op met Ben")
   Me.controle_inlognaam = ""
End If
End Sub

Ron
 
En als je door de code gaat in de STEP modus, doet-ie dan wat-ie moet doen?
 
Hoi Octafish,
Dat gaat dus goed tot dat de
Code:
    ' Open Algemeen Startformulier
    StDocName = "FrmAlgemeenStart-Admin" 
DoCmd.OpenForm StDocName, , , stLinkCriteria
Uitgevoerd moet gaan worden.

Als ik echter
Code:
DoCmd.Close acForm, stDocNameClose
weglaat dan wordt het gewenst formulier wel geopend.
Ik blijf dan dus nog zitten met een geopend inlogformulier.
Stepmode.JPG

Ron
 
En als je alleen de code uitvoert die het formulier sluit (Zou ik overigens doen met DoCmd.Close acForm, Me.Form.Name) dan krijg je geen foutmelding?
 
Octafish,
Maakt geen verschil, zelfde fout.
De waarde van Me.FormName wordt goed weergegeven als ik er met me muis overheen ga ("FrmInlog").
Kan het nog aan instellingen liggen Popup= JA; Modaal=JA, Type recordset=Dynaset, Recordbron=Leeg (ik werk met een Dlookup

Ron
 
Octafish,
Maakt geen verschil, zelfde fout.
De waarde van Me.FormName wordt goed weergegeven als ik er met me muis overheen ga ("FrmInlog").
Kan het nog aan instellingen liggen Popup= JA; Modaal=JA, Type recordset=Dynaset, Recordbron=Leeg (ik werk met een Dlookup

Ron
 
Je zou Modaal op Nee kunnen zetten; kijken of dat helpt. Tenzij er een bijzondere reden is om het formulier wel modaal te openen?
 
Zet de code niet bij de 'Exit' gebeurtenis van het veld 'controle_inlognaam' maar bij de gebeurtenis 'Afterupdate'
 
Heren,
Het is gelukt. De oplossing van Harry46 heeft gewerkt.
Er is dus een verschil in uitvoering tussen "Na Bijwerken" en "Bij verlaten" .

Bedankt.

Ron
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan