DoCmd OpenForm gaat in de fout

Status
Niet open voor verdere reacties.

Wibodata

Gebruiker
Lid geworden
10 mei 2016
Berichten
11
Hallo Access-gebruikers,
Hallo OctaFish,

Hier ben ik terug met een nieuw (raadselachtig) probleem.
De opdracht DoCmd OpenForm deed het goed voor alle formulieren tot over een paar dagen. Vanop een bepaalde plaats in het programma geeft Access de fout ... : vindt het formulier niet of het zou verkeerd gespeld staan, terwijl daar niets van aan is, op andere plaatsen in het programma vindt hij die forms wel. Ook als ik vanop die plaats andere form laat openen doet hij het niet.
Hebt u zoiets al voorgehad? Weet u een oplossing?

Dank van

Wibodata

met vriendelijke groeten
 
Je geeft een beetje te weinig informatie, vrees ik. Een formulier openen met DoCmd gaat in beginsel wel goed, maar als het formulier al ergens open staat, of een subformulier is op een ander formulier, dan kan het anders liggen. Een db met de probleemgevallen zou al veel duidelijk maken, maar anders twee opdrachtregels: één met een werkende en een met een niet-werkende.
 
Ik heb het programma nog eens nagekeken. Er is geen sprake van sub-formulieren en verder zijn geen dezelfde formulieren open. Voor de zekerheid heb ik vlak voor de betrokken regel eens een "close" geplaatst. Dat had geen invloed. de foutmelding blijft:
Code:
De formuliernaam [frmUitlenersZien] is onjuist gespeld of verwijst naar een formulier dat niet bestaat.

...Terwijl her wel correct is en wel bestaat!


De module waar de fout zich voordoet zier er als volgt uit:


Code:
        If (IsGeladen("frmKortOverzichtTeHerstellen")) Then
            Beep
            
            varBoek = UCase([Forms]![frmKortOverzichtTeHerstellen].TITEL)
            varUitleen = " UCase([Forms]![frmKortOverzichtTeHerstellen].TITEL)"
            varVolgNr = [Forms]![frmKortOverzichtTeHerstellen].[VolgNr]

            If MsgBox("Wil je echt uw titel " & varBoek & " terugzetten?", _
                vbYesNo, "Terugzetten van een titel die uit de collectie was verdwenen") = vbNo Then
                 DoCmd.Close , "frmKortOverzichtTeHerstellen"
                 Exit Sub
            Else
  '              DoCmd.Close acForm, "frmUitlenersZien"              ' [B][I]deze regel heb ik ertussen geplaatst [/I][/B]

                DoCmd.OpenForm "[frmUitlenersZien]", , , , acFormEdit, acDialog              '[B][I]vanaf deze regel loopt het fout[/I][/B]
                varUitlener = Me!Uitlener.Value
                    
                 If MsgBox("Wil je bij de uitlener, " & varUitlener & Chr(13) & Chr(10) & Chr(10) _
                     & "van " & varBoek & Chr(13) & Chr(10) & Chr(10) & " de teruggavedatum noteren?", _
                     vbYesNo, "Teruggave boek" & " Druk 'Nee' om te stoppen.") = vbNo Then
                     DoCmd.Close acForm, "frmUitlenersZien"
                     Exit Sub

                  Else
                     [Indatum] = Date
                     
                     DoCmd.Close acForm, "frmUitlenersZien"
                     DoCmd.Close acForm, "frmBoekTerugZien"
                 End If
                 Me.Refresh
                
                Beep
                MsgBox "Uw titel " & Chr(13) & Chr(10) & Chr(10) & varBoek & Chr(13) & Chr(10) & Chr(10) & " wordt terug in de collectie opgenomen", _
                vbInformation, "Terugzetten van een titel die uit de collectie was verdwenen"

                DoCmd.OpenForm "frmBoekTerugZien", acNormal, "[VolgNr] = " & varVolgNr, , acFormEdit, acDialog
     
                Me.[Aanwezig] = True
                Requery
                 DoCmd.OpenForm "[Forms]![frmKortOverzichtTeHerstellen]", , , , acFormEdit, acDialog
                
                DoCmd.Close acForm, "frmKortOverzichtTeHerstellen", acSaveYes
                DoCmd.Close acForm, "frmUitlenersBewerken", acSaveYes
                DoCmd.Close acForm, "frmBoekTerugZien", acSaveYes
                
            
            End If
            
            
        End If
 '       DoCmd.Close , ""

        Exit Sub


Het kan best zijn dat er nog wat onzuiverheden in het programma zitten, ik was bezig het grondig te "restaureren" toen het fout liep.

Hopelijk is dat voldoende qua info?

Vriendelijke groet en ik kijk al uit naar uw antwoord.
Wibodata
 
Ik zou in ieder geval de rechte haken weglaten:
Code:
             DoCmd.OpenForm "frmUitlenersZien", DataMode:=acFormEdit, WindowMode:=acDialog
 
Overigens zou ik die acties zelf nooit via een formulier (of meerdere zoals in jouw geval) doen maar altijd met recordsets. Is sneller en veiliger.
 
Je zal wel gelijk hebben maar ik ben niet bepaald fanatiek over die recordsets, ik zou ook dringend een nieuwe cursus moeten volgen. De vorige die ik volgde was beneden alle peil en heeft meer tegenzin dan profijt gebracht.
 
Kijk eens in de handleidingen sectie naar de Access cursus :).
 
Doe ik zeker, na het weekend begin ik er aan.
Dank voor de tips
Wibodata
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan