Avatar billede ferdinand.k Mester
08. april 2004 - 00:12 Der er 2 kommentarer og
2 løsninger

select flere tekstbokse, og gør dem visible.false

Hvis jeg vil skifte fra visible til not visible og jeg har en tekstbox som hedder Tekst5 skriver jeg bare tekst5.visible = False, men hvis jeg vil skifte Tekst1 & Tekst2 .. Tekst5 til not visible, kan man i VB skrive for a = 1 to 5 "Tekst" & A.visible = False. det kan man bare ikke i Access. Hvordan vil i klare den !?
Avatar billede mugs Novice
08. april 2004 - 06:15 #1
Alle tekstbokse i den aktuelle form:

Dim frm As Form, ctl As Control
Set frm = Screen.ActiveForm
For Each ctl In frm
If ctl.ControlType = acTextBox Then ctl.Visible = False
Next ctl

Alle kontrolelementer i den aktuele form:

Dim frm As Form, ctl As Control
Set frm = Screen.ActiveForm
For Each ctl In frm
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Or ctl.ControlType = acOptionGroup Or ctl.ControlType = acCheckBox Or ctl.ControlType = acOptionButton Then ctl.Visible = False
Next ctl
Avatar billede stry Nybegynder
08. april 2004 - 11:30 #2
>>mugs
Hvis det er alle kontrolelementer i den aktuele form skal den bare hedde:

For Each ctl In frm
ctl.Visible = False
Next ctl

....så skjuler den også labels, ActiveX m.v.
Avatar billede fdata Forsker
10. april 2004 - 12:21 #3
Hvad er der galt med:
for a = 1 to 5
  me.controls("Tekst" & A).visible = False
next a
13. april 2004 - 09:51 #4
Ud fra opgavebeskrivelsen, vil jeg også mene, at fdata's svar er det mest korrekte. Dog vil jeg tillade mig at simplificere det en smule (hvilket jeg selvfølgelig ikke ønsker noget credit for):

Dim a as byte
for a = 1 to 5
  me("Tekst" & a).visible = False
next a

Omvendte kræver det at felterne er navngivet som "Tekst1" m.fl., hvilket er dårlig navngivningsstil og efterfølgende dårlig kodestil.

Jeg ville i stedet sætte egenskaben "Mærke" på tekstboksene til f.eks. "Skjul", og så lade koden se således ud:
Dim ctrl as Control
For each ctrl in Me
  If ctrl.tag = "Skjul" then ctrl.visible = false
Next ctrl

Derved kan man navngive felterne med nogle fornuftige navne og uden videre tilføje flere felter uden at skulle ændre i koden.

/Thomas
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