22. januar 2001 - 22:44Der er
6 kommentarer og 1 løsning
Flere markeringer i liste eller combo-box
Jeg har oprettet en tabel, samt en tilhørende formular. I tabellen er er indeholdt et felt der slår en et projektnavn op i en anden tabel. Formularen der er baseret på den første tabel indeholder en liste hvor jeg ønsker at brugeren skal kunne foretage flere markeringer. Egenskaben er også indstillet til det, men markeringer bliver ikke gemt i tabellen ?? - Håber der er en der kan hjælpe !
Grunden til værdien ikke bliver gemt og du sandsynligvis får en fejl er, at når listen står til flere markeringer bliver Value egenskaben automatisk sat til NULL og værdierne bliver gemt i en array istedet. Selve referencen til værdierne får ved at loope igennem listeindekset og se om en given række er valgt eller ej. Her er noget eksempelkode der gør det:
Private Sub KnapVisNavne_Click() Dim i As Integer, strListe As String strListe = \"Du har valgt : \" & Chr(13) & Chr(13) For i = 0 To Minliste.ListCount - 1 If Minliste.Selected(i) Then strListe = strListe & Minliste.Column(0, i) & Chr(13) End If Next i MsgBox strListe End Sub
Private Sub Minliste_AfterUpdate() Dim i As Integer, Total As Integer Total = 0 For i = 0 To Minliste.ListCount - 1 If Minliste.Selected(i) Then Total = Total + Minliste.ItemData(i) End If Next i TotalPoint = Total End Sub
Rækkekilden til listeboksen er en tabel bestående af Navn og Point. Navn er det der vises, point er den virkelige værdi \"bag\" listen.
Det er måske lidt uklart hvad jeg mener, men hvis jeg skal uddybe det mere kommer jeg til at skrive en mindre bog herinde. Jeg vil meget hellere sende dig et kort eksempel - så du kan se hvordan det i praksis virker. Hvis du giver mig dim email mailer jeg et eksempel med det samme.
,jeg kan simpelthen ikke holde kæft idag....... ;o) Hvis du skal gemme værdierne i en tabel kan du med fordel tilknytte en række af binære værdier til listboksens datakilde, således at hver tekst har en talværdi jvf.:
Derefter gemmer du Summen af valgene i et skjult felt der er tilknyttet en værdi i en tabel. Ved at bruge binære værdier er det nemt at rekonstruere valgene. En værdi på 11 vil altid betyde valg 1, 2 og 4. Alternativt kan du gemme det som f.eks en \";\"-separeret tekststreng, men den første vil klart være den \"lækreste\" :o)))
Det er en skæg lille opgave, og jeg vil gerne hjælpe dig med at banke et eksempel sammen......
Hej KRU - jg faldt lige over jeres korrespondance. Jeg har en søgeformular som leverer indput til et søgekriterie.
Jeg vil gerne lave en dynamisk dannet underrapport til mine rapporter. Denne skulle gerne vise søgekriteriet i menneskeligt sprog, så man kan se, hvad grundlaget for søgningen har været.
I søgeformen er der en række combobokse og liste, hvor man kan vælge en og/eller flere værdier. Det har jeg styr på.
F.eks. me.lkupA.value = 1 går til søgekriteriet. Det - jeg vil have fat i - er teksten vist i formen i den/de valgte rækker.
Hvis nu col 0 er den, der går videre men er skjult og col 1 er det, der vises på formen f.eks. \"Borgergade 25, 2. sal\" for lkupA.value = 1
Har du eller andre et godt forslag. Jeg satser 100 points for et brugbar svar.
Øh - jeg fandt selv ud af det: \'dette gælder for combobokses viste indhold, hvis column 0 er skjult.
Private Sub Knapvisnavne2_Click() Dim i As Integer, strListe As String strListe = \"Du har valgt : \" & Chr(13) & Chr(13) strListe = strListe & minliste2.Column(1, minliste2.ListIndex) & Chr(13) MsgBox strListe End Sub
henrik
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.