Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 4 van 4

Onderwerp: Macro "Sorteren"

  1. #1
    Vraag is niet opgelost

    Cool Macro "Sorteren"

    Ik wil een macro maken om mijn records in mijn tabel te sorteren.
    Welke acties moet in deze macro gebruiken ?

  2. #2
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Als je echt een macro wilt gebruiken, ben ik weg. Wil je e.e.a. vanuit VBA kunnen programmeren, dan kan ik je wel helpen. En dan kun je gelijk je vraag wat verder verduidelijken, want hoe zie je dat sorteren precies voor je? Sorteren doe je namelijk altijd op minstens één veld. Maar voor hetzelfde geld wil je op meerdere velden tegelijk sorteren.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  3. #3
    Ik wil een knop plaatsen in mijn formulier waarmee ik mijn records in een tabel kan sorteren op één veld (Titel).
    Als dit in VBA is oké, als ik dit maar aan een knop kan koppelen.
    In ieder geval bedankt voor de interesse.

  4. #4
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Persoonlijk zou ik daar nooit een knop voor gebruiken; formulieren met teveel knoppen zijn alleen maar verwarrend voor een gebruiker. Wat veel logischer is, is sorteren d.m.v. klikken op een label. Ik neem aan dat je het hebt over een doorlopend formulier (in je vraag heb je het over een tabel, maar daar kan je geen knop op zetten en kun je sowieso al sorteren op de kolomkoppen). Ik doe het dus zelf altijd op basis van de kolomkoppen die in een doorlopend formulier boven de velden staan. Die krijgen dan een code die een functie aanroept. Voorbeeldje met 3 labels:
    Code:
    Private Sub medewerker_naam_Bijschrift_Click()
        fSort Me, "medewerker_naam"
    End Sub
    Code:
    Private Sub Bijschrift4_Click()
        fSort Me, "rechten"
    End Sub
    Code:
    Private Sub Bijschrift5_Click()
        fSort Me, "Actief"
    End Sub
    De code is dus vrij simpel aan te roepen; elk label roept de functie fSort aan, met twee parameters: het formulier (Me) en de sorteren veldnaam. Die wisselt uiteraard bij elk label. De functie staat in een aparte module, en ziet er zo uit:

    Code:
    Function fSort(frm As Form, fld As String)
    Dim sTmp() As String, i As Integer, sSort As String
        sSort = ""
        If frm.OrderBy = fld Then
            frm.OrderByOn = True
            If InStr(1, fld, ",") > 0 Then
                sTmp = Split(fld, ",")
                For i = 0 To UBound(sTmp)
                    sTmp(i) = Trim(sTmp(i))
                    If i = 0 Then
                        sSort = sSort & sTmp(i) & " DESC"
                    Else
                        sSort = sSort & sTmp(i) & " ASC"
                    End If
                    If i < UBound(sTmp) Then sSort = sSort & ", "
                Next i
                frm.OrderBy = sSort
            Else
                frm.OrderBy = fld & " DESC"
            End If
        Else
            frm.OrderByOn = True
            frm.OrderBy = fld
        End If
    End Function
    En dat werkt als een tierelier. Elke keer als je een veld wilt sorteren in een formulier, maak je dus een <Bij klikken> gebeurtenis. En de enige opdracht die je daar neer zet is: fSort Me, "[veldnaam]"
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Aanbiedingen