Avatar billede sb Nybegynder
03. april 2003 - 17:22 Der er 5 kommentarer og
1 løsning

Hvordan hente verdier fra en listbox?

Hvordan henter man indholdet af alle valgte poster i en ListBox?
Avatar billede joern Nybegynder
03. april 2003 - 17:40 #1
Hej.

Jeg går ud fra at du har multiselect = true, ellers kan du ikke markere mere end en post ad gangen.

For a= 0 to list1.listcount - 1
  If list1.selected(a) = true then list2.additen list1.text
next a

M.v.h.  Jørn
Avatar billede joern Nybegynder
03. april 2003 - 17:47 #2
Hej.

Måtte lige prøve, det ser ud til at man må indstille listen på hvert index.

I øvrigt hedder det ikke multiselect = true men at 'multiselect skal være extended'

Private Sub Command1_Click()
  For a = 0 To List1.ListCount - 1
      List1.ListIndex = a
    If List1.Selected(a) = True Then MsgBox (List1.Text)
  Next a
End Sub

M.v.h.  Jørn
Avatar billede sb Nybegynder
04. april 2003 - 13:25 #3
Tak for hjælpen så langt. Det ser ud til at virke fint. Eneste problem er at jeg ikke får hentet ud indholdet af den enkelte valgte post.

Linien
If List1.Selected(a) = True Then MsgBox (List1.Text)
giver bare en tom msgbox.

Kan det have noget at gøre med måden jeg indlægger de enkelte poster i listboxen? Dette gør jeg på følgende måde:

ListBox1.AddItem pTableFields.FieldInfo(l).Alias
Avatar billede joern Nybegynder
04. april 2003 - 16:18 #4
Hej.

Jeg kender slet ikke den syntaks du anvender, jeg bruger VB5 og jeg bruger ikke access.
Men du må da kunne se om der står noget i din listeboks.  Det ER en listeboks ikke, ikke FileView el. andet.

M.v.h.  Jørn
Avatar billede sb Nybegynder
04. april 2003 - 16:24 #5
Det er muligt syntaksen er lidt speciel. Koden skal bruges i ArcGis, et program for konstruktion og analyse af geografiske data. Men det burde vel være rimelig plain VBA uanset.

Og jo, det er en listeboks :-). De indsatte poster bliver fint vist i listeboksen, men jeg har problemer med at hive posterne ud igen.

Nå men tak for hjælpen uanset.
Avatar billede joern Nybegynder
04. april 2003 - 17:30 #6
Hej.

Tak for point.  Jeg svarer på spørgsmål, som gælder Visual Basic.  VBA er en meget amputeret script-udgave af udviklings-softwaren.  Så måske skal årsagen findes i forskellen mellem VB og VBA.

Kommandoen list1.listindex = a skulle gøre at den pågældende post i listen får focus.  Når der derpå testes på om den er valgt (selected), så skulle list1.text indeholde pågældende post.
Når jeg fejlsøger sætter jeg msgbokse ind rundt om, men jeg bruger ikke VBA, så jeg véd ikke hvad der er muligt dér.  Kan du debugge?
I øvrigt kan det blive nødvendigt af gøre en liste usynlig mens den gennemløbes, i hvert fald i win98, fordi udglatning af fonten gør at det går ret langsomt hvis der er mange poster.
Jeg anvender jævnligt at indlæse poster samtidig i et array og en liste.  Valg sker i listen men værdier hentes fra array'et.  Det fungerer kun når en liste ikke sorteres (ellers indeholder poster med samme index jo ikke samme værdi).
Kender du til anvendelsen af dynamisk array og kan man det i VBA?

M.v.h. Jørn
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