Avatar billede banelars Nybegynder
14. februar 2002 - 08:14 Der er 27 kommentarer og
1 løsning

Forhindring af redigering i ét formularfelt.

Hejsa.

Man kan forhindre redigeringer i felterne i en formular.
Er det muligt, at tillade redigering kun i et enkelt felt, som man vil tilføje noget i senere ?
Og hvordan gøres dette ?

Lars.
Avatar billede henrik13 Nybegynder
14. februar 2002 - 08:20 #1
Gå i egenskaber for felted. Gå i Data. Gå til Låst og her ændre du nej til ja
Avatar billede henrik13 Nybegynder
14. februar 2002 - 08:22 #2
Gå i egenskaber for felted. Gå i Data. Gå til Låst og her ændre du nej til ja.
PS ?  Det skal du gøre i Design - visning.
Avatar billede banelars Nybegynder
14. februar 2002 - 08:26 #3
Godmorgen Henrik.

Det skal være sådan, at man ikke kan redigere i felterne i formularen,
men et enkelt af felterne må man godt redigere i.
Hvis jeg gør som du skriver er feltet låst og der kan ikke skrivres deri.
Avatar billede terry Ekspert
14. februar 2002 - 08:29 #4
properties enabled to No and Locked to yes
Avatar billede henrik13 Nybegynder
14. februar 2002 - 08:42 #5
Hej Lars. Som jeg skrev, det er hver felt for sig du bestemmer på den måde, dvs. at det felt du vil skrive i, der ændre du det ikke. Du har lavet fejlen ved at ændre hele formularen til låst.
VH. Henrik
Avatar billede banelars Nybegynder
14. februar 2002 - 09:00 #6
Hej.

Når man går ind i formularen udfylder man felterne undtagen ét, som man først skal skrive i senere. Altså skal man kunne skrive i felterne,
men ikke kunne redigere i dem bagefter.
Dog skal man kunne tilføje i det ene felt man ikke skrev i første gang.
Avatar billede henrik13 Nybegynder
14. februar 2002 - 09:26 #7
Hej.

Tag et kopi af formularen. Så har du to. Brug den ene som åbningsformular,, til 1.st gang folk kommer. Den 2 anden som standard formular når folk har været inde og skrive sig ind.
VVH. Henrik
Avatar billede banelars Nybegynder
14. februar 2002 - 09:36 #8
Hej Henrik.
Formularen åbnes fra flere andre formularer ved hjælp af kommandoknapper.
Hvis det er 1.formular, kan man indskrive i alle felter men ikke redigere.
Hvordan skal den 2. formular sættes op, for at kunne bruge den næste gang man vil ind og redigere det tomme felt ?
Vil man ikke altid komme ind i 1. formular ?

Lars
Avatar billede jkrons Professor
14. februar 2002 - 09:48 #9
Lav en stump kode på formularens VedAktuel hændelse, der undersøger omn et givent felt er udfyldt (fx et nøglefelt). Er det det, afvikles kode der sætter Locked=True på alle de felter, der ikke må ændres i. Er feltet ikke udfyldt, afvikles koden ikke, og der kan tastes i alle felter.

Noget i denne stil:
If isnull(me!felt1) then
exit sub
else
me!felt1.locked = true
me!felt2 locked = true
osv.

og så en errorhandler der håndterer situationen at felterne allerede er låst, når den prøver at låse.

Men i øvrigt synes jeg at det virker risikabelt at låse felterne, hvis de allerede er udfyldt (i hvert fald hvis ikke du laver en bagdør). Hvad nu hvis de er udfyldt forkert i første omgang? Så kan de jo ikke rettes.
Avatar billede banelars Nybegynder
14. februar 2002 - 10:04 #10
Hej jkrons.

Jeg synes heller ikke selv om idéen, men brugerne vil godt have det sådan.
Men da jeg er "eksperten" i det selskab kan jeg jo vælge at sige, at det ikke kan lade sig gøre.

Dit forslag ser dog umiddelbart godt ud. Jeg vil afprøve det og vender tilbage, hvis der opstår problemer.

Jeg kan ikke helt forstå hvorfor du ikke står i listen over navne jeg kan give point til.
Måske dukker det frem hvis jeg afviser terry's og henrik13,s svar, som jeg ikke umiddelbart tror jeg kan bruge.

Lars.
Avatar billede banelars Nybegynder
14. februar 2002 - 10:04 #11
Det hjalp ikke.
Avatar billede terry Ekspert
14. februar 2002 - 10:19 #12
banelars>I think I understand what you wnat now, although it isnt very clear from your original question.
In a NEW record you want to be able to enter data in SOME fields and other fields NOT enter data.
In an EXISTING record you want to be able to enter the fields which yoi didnt when it was NEW and NOT ALTER the field whicg you could enter when it was new. Is that correct? If it is then you can NOT without a bit of programming!
Avatar billede jkrons Professor
14. februar 2002 - 10:20 #13
Når du siger at det ikke hjalp, hvad er det så der sker. Låses felterne ikke, eller låses det sidste felt også eller hvad?

Har du husket i formularens egenskaber at sætte såvel TilladRdigeringer som TilladTilføjelser til Ja.
Avatar billede banelars Nybegynder
14. februar 2002 - 10:33 #14
Hej Terry.

I en ny formular skrives der i felterne undtaget i et enkelt felt.
Senere vil man ind og skrive i det tomme felt,
men man må ikke kunne rette i de felter der allerede er skrevet i.

Forstår du hvad jeg mener ?

Og til jkrons, så har jeg ikke afprøvet dit forslag.
Grunden til jeg skrev "Det hjalp ikke", er at du ikke står i den liste med navne jeg kan give point til.

Lars
Avatar billede terry Ekspert
14. februar 2002 - 20:06 #15
An example: There are two fields text and dato. If we have a new record then you CAN NOT enter text but you CAN enter a date. If we have an existing record we CAN enter text but CAN NOT alter the date!

Private Sub Form_Current()
        If Me.NewRecord Then
            Me.text.Enabled = False
            Me.text.Locked = True
            Me.dato.Enabled = True
            Me.dato.Locked = Fale
        Else
            Me.text.Enabled = True
            Me.text.Locked = False
            Me.dato.Enabled = False
            Me.dato.Locked = True
        End If
End Sub
Avatar billede banelars Nybegynder
15. februar 2002 - 12:45 #16
Hej Terry.

Helt konkret, så har jeg nogle teksfelter og nogle klokkeslætfelter (time).

Man udfylder tekstfelterne og ét af to klokkeslætfelter.
Nemlig klokkeslættet for hvornår den indtastede tekst gælder fra.
Senere når det ikke længere gælder, skal man ind og skrive tiden i det andet klokkeslætfelt. Tiden for hvornår det ikke længere gælder.
Her må man ikke kunne rette i de andre felter. Kun i det andet klokkeslætfelt.

Jeg får lige min hjælper til at kigge på din kode.

Lars.
Avatar billede terry Ekspert
15. februar 2002 - 12:56 #17
Ok :o)
Avatar billede banelars Nybegynder
06. marts 2002 - 09:47 #18
Hej Terry.

Jeg har ikke glemt dig.
Jeg troede jeg havde fundet en løsning, hvor jeg kunne klare mig udenom problemet.
Men det kan jeg nok ikke alligevel.
Jeg mødes med min hjælper på mandag, hvor vi kigger på dit forslag.

Hilsen Lars.
Avatar billede terry Ekspert
06. marts 2002 - 10:59 #19
OK!
Avatar billede banelars Nybegynder
12. marts 2002 - 09:57 #20
Hej Terry.

Status på mit problem omkring redigering i enkelte felter:

Jeg har prøvet at lave 2 formularer.
1 hvor der er X antal felter og 1 hvor der er 2 felter.

Felterne hentes fra samme tabel.

I egenskaberne for formular 1 og 2 har jeg valgt "Nej" til at man kan redigere i felterne.

Når jeg åbner formular 1 udfylder jeg felterne.
Næste gang jeg åbner formular 1, så kan jeg ikke redigere.
Det virker som det skal.

Fra formular 1 trykker jeg på en knap der åbner formular 2.
Heri er 2 felter "Dato" og "Klokkeslæt".
Hvis formular 2 også har egenskaben "Nej" til redigering,
kan jeg ikke indtaste heri.
Heller ikke den første gang jeg åbner formularen.
I formular 1 kan jeg jo godt skrive første gang jeg åbner formularen.
Hvad er forskellen ?
Hører egenskaben redigering ikke til den enkelte formular ?

Håber det er klart nok.

Lars.
Avatar billede terry Ekspert
12. marts 2002 - 11:54 #21
No it isnt so clear Lars!

You say that you have properties set to "no" for BOTH forms!
"I egenskaberne for formular 1 og 2 har jeg valgt "Nej" til at man kan redigere i felterne."
But then you say that you can enter data in form 1.
"Når jeg åbner formular 1 udfylder jeg felterne." ???

Are you changing the properties in code?
Avatar billede banelars Nybegynder
13. marts 2002 - 17:06 #22
Hej Terry.

Normalt når man sætter properties to no, så kan man jo godt skrive data ind, men man kan ikke skrive i formularen efterfølgende (redigere).
Sådan fungerer det i formular 1. Det virker fint.
I formular 2 though, kan man slet ikke skrive data ind som man kan i formular 1.
Det forstår jeg ikke.

Lars.
Avatar billede terry Ekspert
13. marts 2002 - 21:29 #23
Hi Lars> It shard to say what the problem is without seeing the database! You can send it and I will take a look, also explain EXACTLY what it is you are trying to do!

terry@santhell.dk
Avatar billede banelars Nybegynder
15. marts 2002 - 20:31 #24
Hej Terry.

Jeg har modtaget db'en, men har ikke tid til at afprøve det lige nu.
Du får pointene og jeg vender tilbage hvis det giver problemer.
Tusind tak for hjælpen og god weekend.

Lars.
Avatar billede terry Ekspert
15. marts 2002 - 20:38 #25
same to you :o)

mvh
Terry
Avatar billede banelars Nybegynder
15. marts 2002 - 20:48 #26
Hej Terry.

Jeg nåede lige en afprøvning og så vidt jeg kan se,
så kan man godt rette i de to sidste felter.
Så er problemet det samme som før.

Man kan ikke rette i de andre felter. Fint nok.
Men man kan godt rette i de to sidste efter at have udfyldt dem.
Man må ikke kunne ratte i dem når man har skrevet dato og klokkeslæt.

Håber du forstår hvad jeg mener.

Lars.
Avatar billede terry Ekspert
15. marts 2002 - 21:01 #27
so if its a NEW record then you can enter ALL info. Once the record exists you can only ENTER date+time and once they have been entered you can NOT alter any of the fields, is that correct?
Avatar billede banelars Nybegynder
15. marts 2002 - 21:09 #28
Det er helt korrekt.
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