15. februar 2008 - 00:25Der er
4 kommentarer og 2 løsninger
alternativ til listbox og textbox
Hej
jeg koder i vba gennem excel.
jeg har en userform med 10 textbokse. de 20 bokse bliver fylde med noget data fra en access database. hvad der kommer til at stå i de 20 tekstbokse blive afgjort fra en anden tekstbox. nogle gange bliver de alle 20 fyldt og nogle gange er det kun 3 af dem. men det er max 20 og minimum 1. Man skal kunne ændre værdierne i tekstboksene og så opdaterer det i databasen. alt det virker også fint. men jeg kunne godt tænke mig en mere "rigtig" måde at lave det på i stedet for er der er de 20 tekstboks lige meget hvor mange af dem der står noget i. nogle forslag?
jeg har tækte på at man bare kan sætte dem til visible = false hvis de er tomme, men i selve koden er det også grimt at se på gentagende kode for de 20 bokse.
så har jeg tænkt på en listbox, men kan man rette ordentligt i den?
har set i f.eks. java at der er et fint listeobjekt hvor der er gitterlinier og man kan ændre osv, kan man ikke få det til vba?
Hvis du laver en listbox med dine data, kunne du f.eks. have en enkelt tekstboks, hvor data fra listboksen bliver sat ind, når man vælger en række/item i listboksen. Så kan brugeren rette i tekstboksen, klikke på en Opdatér-knap (eller hvordan du nu end gør det) og så opdaterer du det i databasen og i listboksen.
En kommentar til gentagende kode for at skjule 20 tekstbokse: Loop dine controller på userformen igennem, tjek for om det er tekstboks og om den så er tom, skjul den i givet fald, ellers vis den. For du har fuldstændig ret; gentagende kode er en dræber (på flere måder).
har også tænkt på den løsning, men den bliver for besværlig for brugeren. så er det lettere for dem at ændre direkte i textboxen istedet for først skulle markerer i en listbox for at at ændre i en textbox. specielt da programet skal bruges rigtig meget.
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.