06. november 2000 - 12:43Der 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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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å...
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.
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...
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.
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... :-(
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
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
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.
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.