Avatar billede cuac Nybegynder
27. marts 2003 - 08:21 Der er 12 kommentarer og
1 løsning

Låse kontrolelementer i detaljesektion

Jeg har en formular med formularhoved og detaljesektion, hvordan kan jeg låse kun detaljesektionen for rettelser hvis brugernavn og initialer ikke passer sammen? Jeg vil fortsat kunne rette i kontrolelementer i formularhovedet, hvis ikke brugernavn og initialer passer sammen. Nedenstående låser det hele

If Me.Brugernavn = Me.Initialer Then
            Me.AllowEdits = True
            Else: Me.AllowEdits = False
            End If

cuac
Avatar billede juks Novice
27. marts 2003 - 08:31 #1
lav en multiple selection også sæt koden ind i on_enter
Avatar billede juks Novice
27. marts 2003 - 08:35 #2
sorry den kan man ikke :-(
Avatar billede juks Novice
27. marts 2003 - 08:36 #3
hvormange felter skal IKKE låses ?
Avatar billede cuac Nybegynder
27. marts 2003 - 09:05 #4
Ærgerligt, håber på bedre bud!
MVH
cuac
Avatar billede cuac Nybegynder
27. marts 2003 - 09:08 #5
Alle felter i formularhovedet skal ikke låses, her foregår valget som afgør visningen i detaljefunktionen, hvis det er forståeligt??

cuac
Avatar billede juks Novice
27. marts 2003 - 09:13 #6
hvormange felter skal IKKE låses ?

Det du så kan gøre er at de felter der ikke skal låses , laver du en on_enter i feltet der tillader edits, og når du går ud så laver du en kode der ikke tillader redigering igen.
Avatar billede sjap Praktikant
27. marts 2003 - 09:14 #7
Kan du ikke lægge alt fra detaljesektionen ind i detlajesektionen på en ny formular, og så lægge den nye formular ind som underformular på den oprindelige formular. Du kan så bruge funktionen Allowedits på underformularen.
Avatar billede sjap Praktikant
27. marts 2003 - 09:26 #8
Du kan eventuelt også vælge en løsning hvor koden løber alle kontroller i detaljesektionen igennem:

Dim ctl As Control
For Each ctl In Me.Detail.Controls
    With ctl
        .Enabled = False
    End With
Next ctl
Avatar billede cuac Nybegynder
27. marts 2003 - 10:45 #9
hej superjap > din kode virker egentlig udmærket problemet er bare at jeg ikke kan have egenskaben .Enabled = False når et kontrolelement har fokus. Jeg er er nødt til at have egenskaben set fokus på nogle af mine kontrolelementer i detaljesektionen

cuac
   
Jeg bruger nedenstående syntaks - kan der ikke bruges noget andet end enabled f.eks locked??

If Me.Brugernavn <> Me.Initialer Then
                Dim ctl As Control
                For Each ctl In Me.Detaljesektion.Controls
                With ctl
                    .Enabled = False
                End With
                Next ctl
            End If
Avatar billede sjap Praktikant
27. marts 2003 - 10:49 #10
du kan godt bruge Locked (så skal det jo bare sættes til true)
Avatar billede cuac Nybegynder
27. marts 2003 - 10:58 #11
Jeg har åbenbart et objekt på min formular som ikke understøtter denne egenskab, jeg får en systemfejl der siger at objektet ikke understøtter denne egenskab, er der andre egenskaber som gør at man ikke kan ændre data i tekstbokse på formularen

cuac
Avatar billede cuac Nybegynder
27. marts 2003 - 13:09 #12
juks, jeg var vist lidt hurtig til at prøve din løsning. Nu har jeg prøvet igen med hændelsen ved fokus, og nu virker det bare!! Point til dig.

cuac :-)
Avatar billede juks Novice
29. marts 2003 - 10:02 #13
det var jo godt :-)
tak for points
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