Avatar billede carbello Nybegynder
06. december 2001 - 13:08 Der 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
Avatar billede bennytordrup Nybegynder
06. december 2001 - 13:10 #1
Du kan sætte MultiLine = True, så bliver returtegnet til et linieskift i feltet.
Avatar billede carbello Nybegynder
06. december 2001 - 13:28 #2
Det er jeg ikke helt med på, mener du under egenskaberne eller i forbindelse med overstående?
Avatar billede bennytordrup Nybegynder
06. december 2001 - 13:30 #3
Under egenskaberne
06. december 2001 - 13:33 #4
På tekstboksen VedTastNed-hændelse kan du lægge følgende kode:

Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then KeyCode = 0
End Sub

Derved accepteres ENTER ikke
Avatar billede carbello Nybegynder
06. december 2001 - 13:55 #5
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.
Avatar billede bennytordrup Nybegynder
06. december 2001 - 13:56 #6
At forlade et indtastningsfelt ved brug af return er et brud på Windows Standard (som i øvrigt er at tabbe rundt mellem kontrollerne).
06. december 2001 - 13:59 #7
Ø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...
Avatar billede bennytordrup Nybegynder
06. december 2001 - 14:01 #8
thomas > Det er en uvane fra DOS ;-)
06. december 2001 - 14:02 #9
haha, du har nok ret - hvorfor det det også lige at man afskaffede DOS?
Avatar billede carbello Nybegynder
06. december 2001 - 14:08 #10
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.
Avatar billede bennytordrup Nybegynder
06. december 2001 - 14:16 #11
LostFocus?
Avatar billede bennytordrup Nybegynder
06. december 2001 - 14:16 #12
Eller hvis det er i Access: OnExit (VedUdgang)
Avatar billede carbello Nybegynder
06. december 2001 - 15:01 #13
Problemet er løst, tak for hjælpen!
Avatar billede philiph Nybegynder
06. december 2001 - 15:12 #14
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.

06. december 2001 - 15:30 #15
Jeg ville nok have lagt koden på formularen BeforeUpdate...
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