Avatar billede -anders- Juniormester
21. april 2005 - 14:57 Der er 6 kommentarer og
1 løsning

Aktiver/deaktiver textbokse på form ved åbning

Hej eksperter
På en form har jeg et x antal textbokse, værdien i disse textbokse er altid min. 0 textboxende for data fra en tabel, datatypen er Langt heltal. Når jeg åbner min form skal de textbokse der indeholder vædien 0 være deaktiveret, er værdien > 0 skal textboxende være aktiveret. Dette kunne jo laves med en if eller select case ved åbning af formen, men denne struktur bliver i dette tilfælde lidt uoverskuelig da der er tale om lidt mange textbokse på formen. Jeg har forsøgt med nedenstånde kode men den fejler på = 0

Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox And Ctrl = 0 Then Ctrl.Enabled = False
Next Ctrl

Men det fejler med noget om ObjektType eller Metode,nogen ideer

:o) Anders
21. april 2005 - 14:59 #1
hvor lægger du koden?

Den bør ligge på Form_Load (og ikke form_Open)
Avatar billede -anders- Juniormester
21. april 2005 - 15:00 #2
Hej thomas, jeg lægger koden på Form_load, men det fejler stadig
21. april 2005 - 15:02 #3
Prøv at sætte
On Error resume Next
foran.

Den fejler nok fordi du også spørger på om f.eks. labels = 0

Alternativt skal du splitte det op i 2 if's
Avatar billede -anders- Juniormester
21. april 2005 - 15:02 #4
Hvis jeh skriver:
Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox Then Ctrl.Enabled = False

virker det fint, men her spørges der jo ikke på værdien 0
21. april 2005 - 15:05 #5
nej, netop.

Prøv en af disse:

Dim Ctrl As Control
On Error resume next
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox And Ctrl = 0 Then Ctrl.Enabled = False
Next Ctrl

eller:

For Each Ctrl In Me
If Ctrl.ControlType = acTextBox Then
    if Ctrl = 0 then
        Ctrl.Enabled = False
    endif
endif
Next Ctrl
Avatar billede -anders- Juniormester
21. april 2005 - 15:10 #6
hej Thomas denne virker:

Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox Then
    If Ctrl = 0 Then
        Ctrl.Enabled = False
    End If
End If
Next Ctrl

Syntes den er pænere da jeg ikke behøver On error resume next, tak for hjælpen velfortjente point på vej. PS er blevet promedlem det ser ud til at man kan ændre sit brugernavn gad vide om det giver problemer :o)
21. april 2005 - 16:37 #7
jeg har ikke turdet ændre mit brugernavn - kunne ikke helt gennemskue konsekvenserne ;o)

Men tillykke med det! Der er nu mange fordele ved det :o)
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

IT-JOB

Politiets Efterretningstjeneste

CNE-specialist til PET`s indhentningsafdeling

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Sektionschef til Enterprise Arkitektur i Forsvaret på Østerbro

KMD A/S

Projektleder

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknisk systemansvarlig / ingeniør inden for taktisk datalink