Avatar billede norway Nybegynder
23. november 2001 - 20:12 Der er 9 kommentarer og
1 løsning

Avbryte innleggelse av record når \"ikke i listen\"

Når jeg har en Combo box med items og har satt \"Bare fra liste\" så får jeg naturlig nok, en feilmelding når det jeg ønsker ikke finnes i listen.
Hvordan skal jeg lukke formen på en pen måte, UTEN å legge in et ufullstendig record og samtidig ikke få flere feilmeldinger??

Takknemlig for alle svar
Avatar billede terry Ekspert
23. november 2001 - 20:39 #1
Use the On Not In List event procedure.

Private Sub Combo3_NotInList(NewData As String, Response As Integer)
 
  Msgbox \"Not in list ....\", vbInformation
  Response = AccDataErrContinue \'Cancel default error

  Me.undo \'Cancel update


End Sub
Avatar billede terry Ekspert
23. november 2001 - 20:40 #2
You can also use this event to add a new entry in the list!!!
Avatar billede norway Nybegynder
23. november 2001 - 21:46 #3
Ja dette fungerte til dels men jeg ønsker å lukke skjemaet uten å velge en av tingene i listen :-)
Avatar billede mugs Novice
23. november 2001 - 23:23 #4
Sæt koden ind på kombinationsboksens Vedikke På Liste hændelse (Not In List):

Dim Svar As String
Svar = MsgBox(\"Det valgte er ikke på listen.\" & vbNewLine & \"Formularen lukkes.\", Title:=\"Fejlindtastning\", Buttons:=vbOKOnly)
DoCmd.Close
Avatar billede norway Nybegynder
23. november 2001 - 23:39 #5
Jeg får fortsatt ikke lukket formularet, får en feilkode på kommando DoCmd.Close(Run Time Error 2501). Meldingen \"Det valget er........\" vises 2 ganger før feilmeldingen dukker opp !
Avatar billede mugs Novice
24. november 2001 - 00:28 #6
Det er Access indbyggede systemfejlmeddelelser du ser. dette er den mest simple måde at gøre det på:

Private Sub kombo_NotInList(NewData As String, Response As Integer)
Me.Undo
DoCmd.Close
End Sub

Systemfejlmeddelelser kan du iøvrig slå til og fra med kommandoerne.

DoCmd.SetWarnings False
DoCmd.SetWarnings true
Avatar billede norway Nybegynder
24. november 2001 - 00:45 #7
Nei beklager, men det fungerer fortsatt ikke.
Jeg setter Warnings False og enda dukker feilmelding opp på DoCmd.Close.
Avatar billede terry Ekspert
24. november 2001 - 10:58 #8
This may be the problem !
AccDataErrContinue = AcDataErrContinue

If you have no other code than this then it should work

Private Sub Combo3_NotInList(NewData As String, Response As Integer)
 
  Msgbox \"Not in list ....\", vbInformation
  Response = AcDataErrContinue \'Cancel default error

  Me.YourCombo.undo \'Should NOT be necessary!
  Me.undo \'Cancel update
  Docmd.close

End Sub
Avatar billede norway Nybegynder
25. november 2001 - 10:33 #9
Nå virker det, takk Terry :-))
Avatar billede terry Ekspert
25. november 2001 - 14:43 #10
your welcome, og selv tak :o)
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