Avatar billede -anders- Juniormester
06. november 2000 - 12:43 Der er 13 kommentarer og
1 løsning

Validering af felt i formular

Jeg har en formular som indeholder nogle felter, som stammer fra en tabel, mit spørgsmål er:
Kan jeg via en simpel valideringsregel for det aktuelle felt i formularen (designvisning egenskaber for felt)forhindre at der indtastet feks en talværdi som allerede findes i en anden post i samme felt.

Et eks kunne være:
Jeg tilføjer en ny post og udfylder de forskelige felter, når jeg når til det aktuelle felt med validering og feks. indtaster tallet 9827, og denne talværdi allerede findes i anden post, skal valideringen for feltet træde i kraft og komme med en medelse om at det indtastede tal allerede findes i en anden post.

Kan dette lade sig gøre uden at bruge direkte kode, hvis ikke er der så nogen der har et godt kodeeks.

I hjælp under validering er der beskrevet forskelige eks. men ikke et eks. der ligner det jeg har behov  for.

Håber nogen kan hjælpe

Mvh aandersen
Avatar billede horus Nybegynder
06. november 2000 - 13:00 #1
Det er faktisk meget nemt.

Du skal bare ændre feltets \"indekseret\" egenskab i tabellen til at være \"Ja - ingen dubletter\", så skal Access nok selv holde styr på at du ikke opretter det samme nummer 2 gange og give dig en besked hvis du forsøger på det.... dette er klart den letteste måde at gøre det på...

Held og lykke,

Horus
Avatar billede horus Nybegynder
06. november 2000 - 13:01 #2
Husk - du skal ændre egenskaben for feltet i TABELLEN - du kan ikke ændre den i formularen....
Avatar billede uffe_kld Nybegynder
06. november 2000 - 13:03 #3
Kan du ikke bruge index-feltet under design visning af tabelen, og sætte den til ja (ingen dubletter)
Avatar billede -anders- Juniormester
06. november 2000 - 13:07 #4
Hej tak for indlægende

Jo det er meget simpelt at definere det på tabelniveu, og det virker jo også fint, men fejlmeddelsen der dukker op er ikke særligt sigende for en evt. bruger af basen. jeg er ikke meget for at omformulere den inbyggede fejlmeddelse, men ville gerne definere en feltvaiderings i selve formularen.

mvh aandersen
Avatar billede horus Nybegynder
06. november 2000 - 13:17 #5
Jamen så skal du da bare oprette din egen fejlhåndtering til lige netop denne fejl... Det gør du ved at gå ind i formularens \"Ved fejl\" hændelse og lave lidt kode.

Denne hændelse modtager fejlkoden, og hvis ikke DU gør noget ved den håndterer access selv fejlen med sine standardbeskeder.

Det du skal gøre er at skrive noget i retning af dette:

If DataErr = #Den fejlkode du får# then

  Msgbox \"Du har indtastet et nummer der allerede er oprettet... prøv igen\"

  DataErr = Data_ErrContinue

End if


SÅ vises din egen msgbox når lige netop denne fejl indtræffer, hvorimod access tager sig af alle andre... sådan kan du udbygge din egen fejlhåndtering til at tage sig af lige netop de fejl du syntes, og så lade access om resten.

Du kan finde fejl koden for \"dubletter\" ved at indtaste:

Msgbox DataErr

som det eneste under hændelsen \"ved fejl\" så vil du få en beskedbox med fejlkoden i.

Denne løsning forudsætter selvfølgelig at du har sæt feltet til at være et index uden dubletter i tabellen, som både jeg og uffe_kld har forklaret tidligere...

Horus
Avatar billede horus Nybegynder
06. november 2000 - 13:19 #6
Hvis det er fejlkode 2110 du vil gøre noget ved skal du ikke - som du måske kunne tro ud fra mit indlæg - skrive

If DataErr = #2110# Then

men bare

If DataErr = 2110 Then


Horus
Avatar billede moses Praktikant
08. november 2000 - 13:11 #7
Gruble - undre - øffe - tænke - øhhhhhh !

Hvorfor afviser du horus ??
Jeg så, at du havde afvist svarene indtil nu, og skulle lige til at svare, men opdageede så, at jeg faktisk skulle til at skrive det samme, som horus.
Avatar billede horus Nybegynder
08. november 2000 - 13:30 #8
Tja, det undre også mig.... jeg kan ikke se at han kan løse hans problem på mange andre måder... men hva\'.... svaret var måske ikke hvad han havde forventet... :-(

Horus
Avatar billede -anders- Juniormester
08. november 2000 - 13:58 #9
Moses Horus

Ups detmå i altså meget undskylde det var sådan set ikke med vilje, jeg prøvede såmæand bare at lukke spørgsmålet, da der ikke rigtigt er noget at gøre ved det, mange tak for fine indlæg


aandersen
Avatar billede horus Nybegynder
08. november 2000 - 14:03 #10
vil det sige at du ikke kan bruge de forslag du har fået ?

Horus
Avatar billede -anders- Juniormester
08. november 2000 - 14:32 #11
Jo da
Måske ikke lige i den aktuelle database, men min viden er absolut udvidet vedr. fejlmeddelser i accees, kan i fortælle hvordan jeg fordeler point, og luker spørgsmålet
Avatar billede horus Nybegynder
08. november 2000 - 14:54 #12
Det glæder mig at det var til nytte :-)

Du skal vælge \"advanceret\" tror jeg det hedder, der hvor du kan acceptere eller afvise et spørgsmål. Herefter kan du selv bestemme hvem der skal have hvor mange point.

Horus
Avatar billede -anders- Juniormester
08. november 2000 - 15:08 #13
Tak for hjælpen point er på vej
Avatar billede horus Nybegynder
08. november 2000 - 15:20 #14
sku\' det være en anden gang :-)
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