06. december 2001 - 13:08Der er
14 kommentarer og 1 løsning
Tomt felt -> igen fejl
Jeg har lavet følgende BeforeUpdate if program der skal sikre at indeholdet at et felt er korrekt, men problemet er at tastes der return i felte accepteres indeholdet. Hvordan sættes en stopper for det??
Dim strMsg As String, strTitle As String Dim intStyle As Integer
If (IsNull(DLookup(\"[...r]\"))) Or IsNull(Me![Arbejdsprocesser]) Or Me![Arbejdsprocesser] = \"\" Then
strTitle = \"Du har foretaget korrekt indtastning\" If (IsNull(DLookup(\"[..ser]\"))) Then strMsg = \"Fejl 1\" If IsNull(Arbejdsprocesser) Then strMsg = \"Fejl 2\" If Me![Arbejdsprocesser] = \"\" Then strMsg = \"Fejl 3\" intStyle = vbOKOnly MsgBox strMsg, intStyle, strTitle Cancel = True End If
Det fungere ikke optimalt, da det ikke er muligt at forlade feltet igen ved brugt af return og muligheden er endvidere ikke mulig ved kombinationsbokse.
Øh, hvad er det så lige, at du vil? Vil have at ENTER skal forlade feltet (og derved aktivere BeforeUpdate) eller vil du have at ENTER ikke skal forlade feltet?
Benny har forøvrigt lidt ret - jeg har nu altid bare syntes at det var rart at kunne bruge ENTER til at skifte felt med...
Problemt er at værdien af feltet ikke undersøges når dette passeres, hvis det forbliver tomt. Så det jeg søger er en måde hvor det undersøges hvorvidt ikke et felt opfylder betingelserne (aktiverer den ovenstående beforeupdate) selvom der trykkes return i et tomt felt.
Hvad så hvis brugeren aldrig kommer ind i feltet? Så vil det aldrig blive valideret.
Din validering er OK når der tastes i feltet, men der skal også ligge noget kode der checker for hvis der ikke er tastet i feltet. Dette skal gøres lige før værdierne skal bruges (F.eks. hvis din formular har en aktiveringstast: OK, Gem, Opdater), eller ved BeforeUpdate på formularen. Du må selv finde det passende sted.
Det er i det hele taget noget griseri at forlange at brugerne SKAL taste noget i et felt før man kan forlade det. Det går imod alt det GUI står for, netop at man frit kan springe rundt imellem programmer, og bruge/indtaste informationerne i den rækkefølge der passer en.
Jeg ville nok have lagt koden på formularen BeforeUpdate...
Synes godt om
Ny brugerNybegynder
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.