Avatar billede pblv Nybegynder
16. september 2004 - 08:02 Der er 7 kommentarer og
2 løsninger

Fejlmeddelelse ved indtastning

Hejsa,

Jeg har en form, hvor jeg kan oprette en post. Når jeg opretter en post som ikke er gyldig, f.eks. fordi navnet på den post jeg opretter allerede eksiterer, så lukker formen bare uden at fortælle at der var en fejl, eller hvad fejlen var.

Hvad kan jeg gøre?
Avatar billede mugs Novice
16. september 2004 - 09:18 #1
Du kan lave en errorhandler i formularens BeforeUpdate:

OnError
MsgBox Err.Number & Err.describtion

Jeg kan ikke lige huske den korrekte syntaks (Har ikke Access på denne maskine). Hvis du vil tælle om den nye post allerede eksisterer, kan du bruge funktionen DCount med et kriterie der refererer til et felt på formularen.
Avatar billede fdata Forsker
16. september 2004 - 22:26 #2
Den ser cirka sådan ud:

Sub ....
  On Error GoTo Fejl
  ' Gør et eller andet
  Exit Sub
   
Fejl:
  MsgBox Err.Number & vbCrLf & Err.Description
  ' .. en eller anden fejlhåndtering
Exit Sub
Avatar billede pblv Nybegynder
23. september 2004 - 20:46 #3
Heysa,

Tak for svarene, men det virker ikke rigtigt.

Jeg har prøvet med:

Private Sub Form_BeforeUpdate(Cancel As Integer)
  On Error GoTo Fejl
  Exit Sub
Fejl:
  MsgBox Err.Number & vbCrLf & Err.Description
End Sub

Kan i se hvad der er galt?
Avatar billede mugs Novice
23. september 2004 - 20:51 #4
Hvis der ikke er fejl forlader du jo blot procedüren, ellers viser den fejlnr og beskrivelse.

Men når du skriver, at det ikke fungerer, får du så nogen andre meddelelser?
En mulighed kan være, at du et andet sted i din applikation, har anvendt DocmdsetWarnings false, uden at sætte dem til true igen.
Avatar billede pblv Nybegynder
23. september 2004 - 20:54 #5
Jeg prøver at fremprovokere en fejl, og det virker ikke. Tabellen som formen gemmer i, den har et felt med navn i, som er unikt. Hvis jeg tilføjer en ny post via formen med samme navn, så lader den bare være med at gemme, men afslutter formen. Uden jeg får en fejlmeddelelse.
Avatar billede mugs Novice
23. september 2004 - 20:56 #6
Har du mulighed for at sende db:

mugs@mail.dk
Avatar billede pblv Nybegynder
23. september 2004 - 21:02 #7
Hermed gjort! Mange tak.
Avatar billede mugs Novice
24. september 2004 - 08:39 #8
db er returneret med flg kode indsat:

Private Sub Firmanavn_BeforeUpdate(Cancel As Integer)
If DCount("*", "T_Firma", "[Firmanavn]= '" & Me.Firmanavn & "'") > 0 Then
MsgBox Prompt:="Der er allerede en post med dette firmanavn.", Title:="Posten kan ikke oprettes", Buttons:=vbCritical
Me.Undo
End If
End Sub

Hvor Firmanavn er det unikke felt
Avatar billede pblv Nybegynder
29. september 2004 - 08:40 #9
Mange tak!
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