Print side | Luk vindue

Fjerne autoudfyldning af felter ved indtastning

Udskrevet fra: Dansk Access Forum
Kategori: Hjælp til Access
Forum navn: Tabeller
Forum beskrivelse: Tabeller, tabelstruktur, indeksering og felter.
Web-adresse: https://www.accessforum.dk/forum_posts.asp?TID=22
Udskrevet den: 21-11-2024 kl. 13:21


Emne: Fjerne autoudfyldning af felter ved indtastning
Besked fra: llin
Emne: Fjerne autoudfyldning af felter ved indtastning
Posteringsdato: 11-07-2013 kl. 16:18
Jeg sidder på en hospitalsafdeling og har en masse studerende til at taste patientjournaler ind i Access til et forskningsprojekt.

Data er er af typen "Tal" eller "Langt heltal" og der er Valideringsregel på, så man f.eks. kun kan taste tre værdier og tre forskellige missingkoder:

Between 1 And 3 Or 666 Or 777 Or 888 Or 999

Problemet er, at hvis man skal taste 2 i det ene felt og 3 i det næste, så gætter Access på, at man skal taste 4 næste gang. Og den skriver selv 4 i feltet. Der kommer så en fejlmeddelelse om, at man har overskredet Valideringsreglen. 
Det er ret irriterende, fordi man ikke bare kan taste derud af, men hele tiden skal trykke "OK" til fejlen, slette og så skrive det rigtige tal.

Access gør det samme, hvis man har skrevet 2 og 4 - så udfylder en automatisk med 6.

Det virker som om, der ligger en eller anden kode bag, men jeg kan ikke lure hvad det er. Kan I hjælpe?

Tusind tak!!!



Svar:
Besked fra: hkh
Posteringsdato: 14-07-2013 kl. 12:11
Hej
Jeg formoder indtastningen foregår i et dataark.
En mulig løsning kunne være, at benytte formens "FørOpdatering" hændelse til at kontrollere hvad der er indtastet, i stedet for vallideringsreglen

************************************************
Private Sub Form_BeforeUpdate(Cancel As Integer)
   select case [indtastning]
   case 1 to 3,666 to 777,888 to 999
      exit sub
   case else
      docmd.cancelevent
      msgbox"Indtastning ligger uden for område!"
      [indtastning].setfocus
   end select
End Sub
*************************************************
Eksemplet er ikke afprøvet.

-------------
Hans


Besked fra: hkh
Posteringsdato: 14-07-2013 kl. 12:17
Jeg fik ikke læst korrekt, så her en ændring:
************************************************
Private Sub Form_BeforeUpdate(Cancel As Integer)
   select case [indtastning]
   case 1 to 3,666,777,888,999
      exit sub
   case else
      docmd.cancelevent
      msgbox"Indtastning ligger uden for område!"
      [indtastning].setfocus
   end select
End Sub
*************************************************

-------------
Hans



Print side | Luk vindue