Avatar billede smads Nybegynder
21. maj 2003 - 14:39 Der er 12 kommentarer og
1 løsning

Select All på en liste

Er det fuldstændig umuligt at vælge alle elementer på en listen uden først at skulle markere dem?
Avatar billede proaccess Nybegynder
21. maj 2003 - 14:42 #1
Hvis du sætter egenskaben FlereMarkeringer til "Sammensat markering", så kan du markere den første, og derefter holde [Shift] nede mens du markerer den sidste på listen, derved bliver alle valgt...
Avatar billede smads Nybegynder
21. maj 2003 - 14:47 #2
Ja, det ved jeg, men hvis jeg nu ved at jeg skal bruge alle elementerne på en liste er det lidt dumt først at skulle markere dem.

F.eks. så har jeg denne kode som skal slette samtlige markerede elementer fra listen i en tabel:

Sub cmdDeleteResult_Click()
   
    Dim frm As Form, ctl As Control
    Dim varItm As Variant

    Set frm = Forms!frmSearchMember
    Set ctl = frm![frmCustSearchList]![lstCustSearchResult]
    For Each varItm In ctl.ItemsSelected
        CurrentDb.Execute "DELETE FROM tblSearchResult WHERE display_name = '" & ctl.ItemData(varItm) & "' "
    Next varItm

Me![lstCustSearchResult].Requery

End Sub

Men det ville bare være super hvis der var en 'SelectAll' funktion så jeg slap for at markere dem alle.
Avatar billede hekla Nybegynder
21. maj 2003 - 18:13 #3
Jeg har ikke testet det, men kan man ikke bruge et eller andet med

Me!lstCustSearchResult.Selected(All) = True
Avatar billede susanne_larsen Nybegynder
21. maj 2003 - 19:37 #4
går ud fra du mener vælge alle elementer/emner i en listbox på en gang?? Hvis ja, kan det gøres forholdsvis simpelt.

Opret 2 knapper på din formualar. Den ene vælger alle elementer på listen. Den anden fjerner markeringen

Koden til knappen der markerer alle emner på listen:
OBS ! Egenskaben på listboxen skal under "Flere markeringer" sættes til "Sammensat markering". Ellers virker koden ikke.

Private Sub cmdVaelgAlle_Click()
'Vælg alle emner i listboxen

Dim intList As Integer
    For intList = 0 To Me.MinListbox.ListCount - 1
        Me.MinListbox.Selected(intList) = True
    Next intList

End Sub

Koden på knap nr. 2 der clearer listboxen, så intet er markeret

Private Sub cmdDeselectValgte_Click()
'Deselect de valgte emner på listboxen
Dim intList As Integer
    For intList = 0 To Me.MinListbox.ListCount - 1
        Me.MinListbox.Selected(intList) = False
    Next intList

End Sub


....erstat selv MinListbox med navnet på din listbox
Avatar billede terry Ekspert
21. maj 2003 - 21:11 #5
Looks OK to me Susanne :o) (NOT checked)
Avatar billede terry Ekspert
21. maj 2003 - 21:14 #6
Another idea.

Function  ToggleList( Toggle as Boolean )
Dim intList As Integer
    For intList = 0 To Me.MinListbox.ListCount - 1
        Me.MinListbox.Selected(intList) = Toggle
    Next intList

End Sub
Avatar billede susanne_larsen Nybegynder
21. maj 2003 - 21:14 #7
;) terry and works too - have checked G**
Avatar billede susanne_larsen Nybegynder
21. maj 2003 - 21:16 #8
smarter that one ;)
Avatar billede smads Nybegynder
21. maj 2003 - 22:02 #9
I can't get it to work - I must do something wrong...?

Is this the way it should look?

Sub cmdAddAll_Click()
   
Function ToggleList(Toggle As Boolean)
Dim intList As Integer
    For intList = 0 To Me.[lstCustSearchList].ListCount - 1
        Me.[lstCustSearchList].Selected(intList) = Toggle
    Next intList

End Sub
Avatar billede smads Nybegynder
21. maj 2003 - 22:18 #10
Susanne: Jeg brugte dit og fik det til at virke helt fint. Da Terry ikke er kommet med svar og kun kommentar kan jeg jo ikke dele pointene mellem jer :(. Så du får dem...
Avatar billede susanne_larsen Nybegynder
22. maj 2003 - 19:49 #11
Grunden til at du ikke kan få terrys kode til at virke er at det er en function. Den skal placeres i et modul, hvorefter du skal kalde functionen

men thnx for p

kan være en ret svær en den vba :)
Avatar billede terry Ekspert
22. maj 2003 - 19:55 #12
I didnt place an answer BECAUSE Susanne gave a correct one, and she nees the points  :o)
Avatar billede susanne_larsen Nybegynder
22. maj 2003 - 20:27 #13
G*** and theres a heck of a long way up to position nr 9
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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