Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 19:10 Der er 31 kommentarer og
2 løsninger

Felter på fortløbende form

Jeg har et problem vedr. deaktiverede felter på en fortløbende/continuous form:

Jeg har en tabel, der vises i en fortløbende form, hvoraf et af felterne er en checkbox (Yes/No). Denne værdi skal gerne afgøre om de resterende felter (for den pågældende record) er aktiverede eller ej. Jeg har set lidt på http://www.eksperten.dk/spm/269884 spørgsmålet vedr. farveændring, men kan ikke umiddelbart se en løsning.
Altså:
For en given record på en fortløbende form - hvis checkboxen = 'Yes' er alle felter 'Enabled' ellers er de 'Disabled' (Enabled = False).

Any ideas?
/U.K.
Avatar billede terry Ekspert
21. maj 2003 - 19:16 #1
at a guess I dont think you can
Avatar billede terry Ekspert
21. maj 2003 - 19:17 #2
an idea would to be to STOP the user from altering the data before it is written by canceling the update
Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 19:19 #3
Nitte...
Det er ret utilfredsstillende...
Hvordan kan man så indikere at en record ikke er aktiv? Kan man aktivere et tekstfelt, der kun vises, hvis Checkboxen = No?
Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 19:20 #4
Jeg er ikke sikker på at jeg forstår hvad du mener med din kommentar?
Brugeren kan ændre i alle records på den fortløbende form, men hvis Checkboxen = No, vil jeg gerne have at ændring ikke er mulig - for den pågældende record.
Avatar billede terry Ekspert
21. maj 2003 - 19:24 #5
Avatar billede terry Ekspert
21. maj 2003 - 19:26 #6
You should also take a look at Conditionla formatting. I think its possible after all :o)
You find this in the formatting menu
Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 19:30 #7
Conditional Formatting virker kun på det pågældende felt: Hvis Checkbox = No kan jeg sætte Checkbox-feltet Enabled/Disabled - men ikke de andre felter.. :o/
Avatar billede terry Ekspert
21. maj 2003 - 20:02 #8
You have to select ALL fields in the record which must be disabled. Then in the conditional formatting choose "Expression is" and then in the text box eneter something like [checkbox] = True

checkbox is the  name of the checkbox
Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 20:48 #9
Når jeg markerer alle felter i formen, er Conditional Formatting ikke tilgængelig fra "Format"-menuen :o(
Jeg troede ellers lige at du havde reddet mig... Eller gør jeg noget forkert?
Avatar billede juks Novice
21. maj 2003 - 20:54 #10
hmmm
det kan godt være jeg ikke lige er helt med men
hvis du laver en funktion i ved_aktuelt (fx)

Private Sub Form_Current()
If Me.Inaktiv = yes Then
Me.Fornavn.Enabled = False
Else
Me.Fornavn.Enabled = True
End If
End Sub


så virker det , det ser ikke så pænt ud men det virker
Avatar billede terry Ekspert
21. maj 2003 - 20:55 #11
You can send the dB and I will take a look if you like eksperten@santhell.dk
I've just tried something similar here and I got it to work :o)
Avatar billede terry Ekspert
21. maj 2003 - 20:55 #12
ZIP it if you send it
Avatar billede juks Novice
21. maj 2003 - 20:56 #13
hmmm terry det er vel simpelt nok... eller `?
er det mig der misforstår noget
Avatar billede terry Ekspert
21. maj 2003 - 20:59 #14
juks>maybe your idea will work, I havent tried! But we want to disable ALL fields in the current records.
Avatar billede juks Novice
21. maj 2003 - 21:01 #15
ja men taler vi om 5 felter eller 100
det er jo bare at skrive

me.felt1.enabled = false
me.felt2.enabled = false
me.felt3.enabled = false
etc....
Avatar billede juks Novice
21. maj 2003 - 21:03 #16
det virker 100 % hvad ville du ellers gøre
Avatar billede terry Ekspert
21. maj 2003 - 21:07 #17
as I said, I havent tried but I assume it will.
Avatar billede terry Ekspert
21. maj 2003 - 21:08 #18
conditional formatting can (maybe) do it WITHOUT code.
Avatar billede mugs Novice
21. maj 2003 - 21:53 #19
juks > dit forslag fungerer fint. Jeg overvejede det selv, men brugeren vil kun have felterne i den aktuelle post påvirket.
Avatar billede juks Novice
21. maj 2003 - 22:09 #20
ja men hvis man istedet for enabled bruger  locked kan man jo slet ikke se noget visuelt
Avatar billede juks Novice
21. maj 2003 - 22:11 #21
eksp.

Private Sub Form_Current()
If Me.inaktiv = -1 Then


Me.Fornavn.Locked = True
Else
Me.Fornavn.Locked = False
End If
End Sub
Avatar billede ugotabe_kidding Nybegynder
21. maj 2003 - 23:37 #22
Super med mange gode svar - jeg har dog først mulighed for at afprøve jeres forslag i morgen tidlig, men umiddelbart tror jeg at ved brug af Form_current() kommer til at påvirke alle records i listen - jeg ønsker blot at påvirke den/de records hvor Me.inaktiv = -1
Men jeg forsøger mig med jeres forslag i morgen og melder ud om fremgangen..
Avatar billede juks Novice
21. maj 2003 - 23:45 #23
ja men ligeså snart du håber ned til en record hvor me.inaktiv =no så er rekordsettet normalt
Avatar billede juks Novice
21. maj 2003 - 23:46 #24
håber = hopper
Avatar billede mugs Novice
22. maj 2003 - 05:31 #25
juks svar er afprøvet, og det fungerer. Når koden placeres i OnCurrent påvirkes alle poster, men som juks selv påpeger, når det er tale om locked ses det ikke.

Der er dog ikke mulighed for at ændre posten ved f.eks at sætte checkboksen til False, da koden er indsat i OnCurrent. Det kan dog rettes ved også at indsætte koden i checkboksens OnClick Event.
Avatar billede terry Ekspert
22. maj 2003 - 08:20 #26
Well I might as well give a contribution to this approach also.

Me.TheField.Locked = True
Me.TheField.Enabled = False

and

Me.TheField.Locked = False
Me.TheField.Enabled = True
Avatar billede ugotabe_kidding Nybegynder
22. maj 2003 - 09:10 #27
Me.TheField.Locked virker jo perfekt - men er det ikke sært at man ikke kan bruge Me.TheField.Enabled? Det virker bedre rent visuelt - men det kan I jo ikke gøre for ;o)

Derfor tak for hjælpen..
Hvis I finder en bedre løsning, der giver brugeren en bedre forklaring, må I meget gerne poste den her..

Men indtil videre bruger jeg:
Private Sub Form_Current()
If Me.Text47.Value = 0 Then 'If Tranche is inactive
Me.Combo8.Locked = True
...
Me.TextStatus.Value = "Record Inactive!"
Else
Me.Combo8.Locked = False
...
me.TextStatus.Value = ""
End If
End Sub
Avatar billede ugotabe_kidding Nybegynder
22. maj 2003 - 10:04 #28
Et lille tillæg:
Nu har jeg tilfældigvis en knap på min fortløbende form!
Men jeg kan ikke vælge Me.btn_DeleteRecord.Locked = True
Hvis jeg bruger Me.btn_DeleteRecord.Enabled = False påvirker det alle records på formen jf. diskussionen herover. Kan man gøre noget smart med knappen?
Avatar billede juks Novice
22. maj 2003 - 10:30 #29
kan du ikke sætte knappen i detail section
Avatar billede ugotabe_kidding Nybegynder
22. maj 2003 - 13:09 #30
Knappen befinder sig allerede i detail section - mao. der er en knap for hver record. Men som sagt påvirker Enabled og Visible alle forekomsterne af Delete-knappen på min fortløbende form. Kan jeg bruge Me.btn_DeleteRecord.OnClick til noget? Evt. sætte den til ikke at gøre noget? Eller virker den funktion kun som et kald til OnClick-event'en?
Avatar billede juks Novice
22. maj 2003 - 13:32 #31
Private Sub Kommandoknap8_Click()
On Error GoTo Err_Kommandoknap8_Click

If Me.inaktiv = 1 Then
  DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Else

End If

Exit_Kommandoknap8_Click:
    Exit Sub

Err_Kommandoknap8_Click:
    MsgBox Err.Description
    Resume Exit_Kommandoknap8_Click
   
End Sub
Avatar billede ugotabe_kidding Nybegynder
22. maj 2003 - 13:37 #32
KLART! Det skal selvfølgelig virke - tak for al din hjælp!
Avatar billede juks Novice
22. maj 2003 - 13:38 #33
welcome ....
det er jo det som dette forum er til for...
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