28. december 2009 - 22:44Der er
17 kommentarer og 1 løsning
Bruge Tekstbox - som variabelt navn i VB
Jeg har op til flere forskellige Tekstboxe, hvor jeg gerne vil have at følgende sætning bruger variablen "Feltnavn" som er af typen String og som indeholder teksten f.eks. Tekstbox32 Nu har jeg rodet rundt med forskellige tegnsætninger men får hele tiden fejl om at Feltet Feltnavn ikke findes.. Er der nogle som kan hjælpe mig?
Jeg bruger denne sætning sammenkoblet med en betingelse i feltet med navnet Felt1:
Dim lngRed As Long, lngYellow As Long, lngBlack As Long, lngWhite As Long lngRed = RGB(255, 0, 0) lngYellow = RGB(255, 255, 0) lngBlack = RGB(0, 0, 0) lngWhite = RGB(255, 255, 255) If Felt1 < "4" Then Felt1.ForeColor = lngRed Else Felt1.BackColor = lngBlack End If Me.Refresh
Jeg er ikke helt sikker på jeg forstår det.. for det er meningen at f.eks. Felt1 skal være = "Tekstfelt34"
Problemet er at jeg har ca. 47 felter som jeg tjekker i en for løkke derfor har jeg lavet et modul, med en funktion som henter navnet på tekstfeltet fra min form.
Ja - det virker jo hvis jeg skriver den direkte henvisning til tekstfeltet F.eks. som du har beskrevet med [Forms]![form1]![Tekst23].forecolor = 255
Men igen vil jeg jo gerne have at Tekst23 skal hedde Feltnavn som så indeholder værdien "Tekst23" Det virker også med Forms!Form1.Tekst23 men lige så snart jeg prøver at sætte variablen "Feltnavn" ind med "" eller & eller [ om, så får jeg medelelsen om at feltet Feltnavn ikke findes..
Det er en kalender, og jeg kan ikke bruge min Kalender.OCX af en eller anden årsag.. Derfor har jeg flikket en sammen som så læser hvert enkelt felt.
Først havde jeg en tabel hvor jeg havde en tekstbox i listeform .. men når jeg ville have ændret en dato til at have farven gul blev ALLE datoer gule.. derfor har jeg så lavet dem enkeltvis..
Nu løber jeg så ind i at skulle lave en ens sætning på hver af de mange tekstbokse jeg har.. derfor skal feltnavn bruges som variabel af de enkelte tekstbokse.. :-/ .. Jeg ved godt det er noget "klamphuggeri" :-/
Det er en testdb til beregning af alder ud fra CPR eller fødselsdato, som jeg hurtigt lavede om. Men til dit brug skal du kun bruge Module3 og de 2 kommandoknapper.
If ctl.ControlType = acTextBox Next ctl End Function
Hvilket vil spare mig for en masse besvær med at skrive fordi det bliver klaret i een sætning..
Jeg har ikke testet det, men har fattet sammenhængen og det er en stor hjælp :-) Jeg smider lige en note om og hvis jeg får det til at køre på den måde du har lavet .. lige nu er det lidt sent - men du får points annyway tusind tak for hjælpen .. igen :-)
Selv tak og tak for point. Jeg slutter for iaften, men du vender blot tilbage hvis der opstår problemer.
Synes godt om
Ny brugerNybegynder
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.