Avatar billede susanne_larsen Nybegynder
25. april 2002 - 21:30 Der er 18 kommentarer og
4 løsninger

Undertrykke Access meddelelse ved åbning af form

Ønsker ikke at min formular frmLedigeTider skal åbnes hvis der ikke er nogen poster.

Jeg har derfor oprettet flg. på formens VedÅbning

_________________________________________________
Private Sub Form_Open(Cancel As Integer)
    If Me.RecordsetClone.RecordCount = 0 Then
        MsgBox "Der er i øjeblikket ikke registreret nogen ledige tider!", vbInformation, "Ingen data!"
        DoCmd.CancelEvent
    End If

End Sub
______________________________________________

Det virker også fint men når jeg klikker på [OK] vises Access-standardmeddelelse "OpenForm-handlingen blev annulleret"

Hvordan undertrykker jeg den???
Avatar billede terry Ekspert
25. april 2002 - 21:33 #1
hi Susanne
Try
Cancel = True
Avatar billede susanne_larsen Nybegynder
25. april 2002 - 21:42 #2
Hi Terry

Not enough

ok har vist ikke formuleret mit spørgsmål ordentligt :)

Fra frmTraening åbnes frmLedigeTider ved klik på knappen cmdLedigeTider MEN kun hvis der er ledige tider... Ellers MsgBox

lol - ender med jeg drømmer om halbookinger om natten
Avatar billede terry Ekspert
25. april 2002 - 21:51 #3
Not sure I understand the problem! You attempt to open frmLedigeTider FROm another form, by clicking on a button cmdLedigeTider. Then in the form open event for frmLedigeTider you check if there are any record and IF NOT you want to STOP the open. Is that correct? Id so, doesnt this work?


Private Sub Form_Open(Cancel As Integer)
    If Me.RecordsetClone.RecordCount = 0 Then
        MsgBox "Der er i øjeblikket ikke registreret nogen ledige tider!", vbInformation, "Ingen data!"
        Cancel = TRUE
    End If

End Sub
Avatar billede susanne_larsen Nybegynder
25. april 2002 - 22:01 #4
Yes thats what I want to do :)

Har placeret koden og tilføjet Cancel = True

Virker fint hvis jeg åbner frmLedigeTider direkte fra oversigtsvinduet hvor jeg kan se alle forms - men hvis jeg klikker på cmdLedigeTider får jeg min custom-meddelelse OG den irriterende fra Access
Avatar billede terry Ekspert
25. april 2002 - 22:11 #5
Oh I see!
Well a simple solution is to test for the error (2501) in your error routine for the form which contains the button

If err.number = 2501 then .......
Avatar billede terry Ekspert
25. april 2002 - 22:13 #6
or if you dont have an error routine you can place
On error resume next JUST before you open the form

On error resume next
Docmd.openform .....
Avatar billede susanne_larsen Nybegynder
25. april 2002 - 22:36 #7
ok - stupid question WHY isn´t this enough??

_____________________________________________
Private Sub cmdLedigeTider_Click()
  Dim DataErr As Integer
  DoCmd.OpenForm ("frmLedigeTider")

  If DataErr = 2501 Then DoCmd.CancelEvent

  End If
End Sub
__________________________________________________

Får nu den irriterende RunTime Error 2501 :(
Avatar billede jkrons Professor
25. april 2002 - 23:33 #8
Jeg lader simpelthen min error rutine afslutte proceduren, hvis der er fejl:

If Err.Number = 2501 Then Exit Sub

Så undgår jeg fejlmeddelelsen.
25. april 2002 - 23:42 #9
Hej Susanne,

Du skal have en Error-handler:

Private Sub cmdLedigeTider_Click()
  On Error goto Err_Handler
  DoCmd.OpenForm ("frmLedigeTider")

  exit sub
Err_Handler:
  if Err = 2501 then
    Exit sub
  else
    msgbox err & vbnewline & Err.description
  endif

End Sub
Avatar billede susanne_larsen Nybegynder
26. april 2002 - 10:00 #10
Thanx guys
På et eller andet tidspunkt ender det forhåbentligt med at jeg husker at VBA i Word er skruet sammen på en måde, og VBA i Access er noget helt andet :)

Takker for den hurtige respons :-)
Avatar billede henrik13 Nybegynder
26. april 2002 - 10:01 #11
Hej, man kan slå alle fejl fra ved at gå i Funktioner, Start og klikke på Avanceret, og fjern flueben i Tillad visning af programkode efter fejl.
Vh Henrik
Avatar billede jkrons Professor
26. april 2002 - 10:03 #12
Tak for point
Avatar billede susanne_larsen Nybegynder
26. april 2002 - 10:03 #13
>henrik13
mhh det er selvfølgelig også en mulighed - har jeg ikke tænkt på. Men det kan vel være en lidt halvfarlig metode, eller ???
Avatar billede henrik13 Nybegynder
26. april 2002 - 10:08 #14
Det er noget du gør til sidst, inden du aflevere databasen til kunden, de bliver jo forvirrede af fejlmeddelser.
Vh Henrik
Avatar billede terry Ekspert
26. april 2002 - 10:11 #15
is there a problem with eksperetn? I can see that questions are answered but with 0 points and I can still choose Svar or Komment, strange!
Avatar billede jkrons Professor
26. april 2002 - 10:12 #16
Henrik->Den funktion eksisterer ikke hos mig! Det eneste jeg har under avanceret er muligheden for at fravælge Acccess-tasterne.
Avatar billede jkrons Professor
26. april 2002 - 10:12 #17
terry->Jeg oplever det samme!
26. april 2002 - 16:42 #18
same here...???
26. april 2002 - 16:43 #19
Men man kan faktisk ikke få lov at svare, da svar bliver markeret som kommentarer.

Susanne, jeg tror, at du må oprette endnu et ekstra spm ;o)
Avatar billede susanne_larsen Nybegynder
27. april 2002 - 10:43 #20
>henrik13
OK en god ide - har bare samme problem som jkrons - under avanceret kan jeg kun fravælge Access-tasterne

>ALL
Tja opretter spørgsmålet en gang til men henvisning hertil
Avatar billede susanne_larsen Nybegynder
28. april 2002 - 14:23 #21
Placerer et svar så vi kan få spørgsmålet afsluttet :)
Avatar billede terry Ekspert
28. april 2002 - 14:41 #22
and now there is 30 for Susanne and 10 for the others, strange!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester