Avatar billede JZA Nybegynder
19. september 2012 - 21:57 Der er 6 kommentarer og
1 løsning

Ens relationer mellem tekstbokse

Hej Eksperter

Jeg er ved at lave en userform 48 tekstbokse. betingelsen for hvad der kan tastes i Boks (2) afhænger af hvad der er tastet i boks (1). Betingelseskoden er meget lang, men den er identisk med betingelserne mellem Boks (3) og Boks (4) og helt op til betingelserne mellem Boks (47) og Boks (48).
Mit spørgsmål er om jeg kan nøjes med at taste denne betingelseskode en gang og så trække på den i forhold til de 24 relationer.
Relationen er som eksempel:
Der kan tastes en værdi i (1) i intervallet 0 til 50000. Værdien der kan tastes i (2) er afhængig af værdien der er tastet i (1) og hvis der ikke er tastet noget i (1) så kan man ikke taste en værdi i (2). Værdien der tastes i (1) afrundes med det samme til nærmeste 100. Hvis man eksempelvis har tastet 20000 i (1) så er beskeden at man kan taste en værdi i området 0 til 100000 i (2). Jo højere værdi jeg taster i (1) jo mindre bliver værdi området der kan tastes i (2). Hvis man eksempelvis taster 71000 i (2) så afrundes værdien med det samme til nærmeste 2000. Taster jeg istedet 60100 så afrundes der til nærmeste 1000. Dette er et lille udpluk af de mange betingelser der er opstillet i koden.
Måske vil svaret på ovenstående også kunne simplificere den kode jeg har fået til at virke mellem (1) og (2). Til eksempel har jeg 7 forskellige afrundingsregler for det der indtastes i (2). Jo mindre værdi der tastes i (2) jo mindre er afrundings tallet. Måske kan jeg nøjes med at skrive den kode en gang og så trække på den på en smart måde.
Jeg ser meget frem til at høre om der er en smart måde at løse det på.
Avatar billede tjp Mester
21. september 2012 - 14:15 #1
Er betingelserne ens for alle 24 textboxpar? Så kan de vel bare kalde den samme validerings-funktion. Hvornår tjekker du betingelserne - ved Change, Exit eller tryk på en knap?
Avatar billede JZA Nybegynder
21. september 2012 - 14:38 #2
Jeg tjekker betingelserne ved Exit.
Betingelserne er ens for alle tekstbox par, jeg er bare ikke klar over hvordan jeg laver en valideringsfunktion. Boksene har jo forskellige navne etc. Et eksempel vil nok hjælpe mig meget.
Avatar billede tjp Mester
21. september 2012 - 15:23 #3
Ved Exit på Textbox1 indeholder Me.ActiveControl.Name "Textbox1", så der har du navnet på den ene textbox.
Du kan tilgå textbox'e o.lign på din userform via UserForm1.Controls, fx giver UserForm1.Controls("Textbox2").Value indholdet i Textbox2.
Så ved at ved at klippe-klistre lidt i Exit kan du få værdierne fra begge og sende dem som parametre til en generisk funktion som tester at betingelserne er opfyldt.
Med klippe-klistre menes at finde nummeret på textboxen og lægge 1 til og appende det på "Textbox".
Avatar billede JZA Nybegynder
24. september 2012 - 20:28 #4
Tak for dit svar. Jeg skal lige have lidt tid til at arbejde med det og se om jeg kan forstå hvad det er du skriver.
Avatar billede JZA Nybegynder
27. september 2012 - 16:32 #5
Jeg har prøvet at forstå hvad det er du skriver og jeg har lidt svært ved at forstå det du skriver om at tilgå via UserForm1.Controls. Er det muligt at du kan uddybe det lidt?
Avatar billede JZA Nybegynder
04. oktober 2012 - 17:00 #6
Hvis Me.ActiveControl.Name eksempelvis er "TextBox1", hvordan adskiller jeg så "TextBox" og "1" fra hinanden?
Avatar billede JZA Nybegynder
08. oktober 2012 - 20:09 #7
På grund af manglende svar lukker jeg spørgsmålet
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
Kurser inden for grundlæggende programmering

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