Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Don am November 10, 2022, 19:33:13

Titel: Sortieren mit Me.OrderBy
Beitrag von: Don am November 10, 2022, 19:33:13
Hallo zusammen,

ich habe mal wieder eine Frage. Ich habe in einem Endlosformular einen Button der das Feld Region aufsteigend sortiert:
Private Sub Sortieren_Region_Click()
Me.OrderBy = "Region"
Me.OrderByOn = True
End Sub

Das klaptt soweit.
Jetzt würde ich gerne den Button so programmieren, daß bei einem weiteren Klick absteigend sortiert wird. Beim dritten Klick aufsteigend also immer abwechselnd. Geht das? Wenn ja wie? Vielen Dank schon mal an die Gurus

VG
Don
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: DF6GL am November 10, 2022, 19:59:29
Hallo,


etwa so:


Private Sub Sortieren_Region_Click()

   If Instr(Me.OrderBy,"desc") then
     Me.OrderBy = "Region asc"
   Else
     Me.OrderBy = "Region desc"
   End IF

   Me.OrderByOn = True
End Sub
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: MzKlMu am November 10, 2022, 20:01:11
Hallo,
oder so:
Private Sub Sortieren_Region_Click()
    If Me.OrderBy = "Region desc" Then
        Me.OrderBy = "Region"
    Else
        Me.OrderBy = "Region desc"
    End If
OrderByOn = True
End Sub

Hatte es fertig und da wird auch gepostet.  ;D
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: Köbi am November 10, 2022, 20:04:30
DF6GL hat die Antwort eigentlich schon gegeben. Meine Version:
Private Sub Sortieren_Region_Click()
If Screen.ActiveControl.Value = -1 Then
    Me.OrderBy = "Region"
    Me.OrderByOn = True
Else
    Me.OrderBy = "Region" & " DESC"
    Me.OrderByOn = True
End If

    Me.OrderByOn = True
End Sub
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: Köbi am November 10, 2022, 20:05:29
Nun hast du die Qual der Wahl. :)
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: MzKlMu am November 10, 2022, 20:08:09
@Köbi
Von Deinen 3 OrderByOn sind 2 zuviel.  ;D
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: Beaker s.a. am November 10, 2022, 20:18:22
Hallo Don,
Steuerelemente besitzen ein Eigenschaft "Marke" (Eigenschaftenfenster - Andere).
In VBA heisst diese Eigenschaft "Tag".
Da hinein schreibst du "ASC" (ohne die "").
Private Sub Sortieren_Region_Click()
       
    With Me
        Select Case .Sortieren_Region.Tag
        Case "ASC"
            .OrderBy = "Region" & " " & .Sortieren_Region.Tag
            .Sortieren_Region.Tag = "DESC
        Case "DESC"
            .OrderBy = "Region" & " " & .Sortieren_Region.Tag
            .Sortieren_Region.Tag = "ASC
        End Select
       .OrderByOn = True
    End With

End Sub
gruss ekkehard

edit: Da waren andere schneller, und Klaus' Code ist wohl der kürzeste.
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: Köbi am November 10, 2022, 21:53:54
Hallo Klaus
ZitatVon Deinen 3 OrderByOn sind 2 zuviel.

Ja, das sehe ich jetzt auch so. Weiss der Hühnervogel, was ich dabei studiert habe. ;D

Gruss, Köbi
Titel: Re: Sortieren mit Me.OrderBy
Beitrag von: Don am November 11, 2022, 10:11:52
Super, vielen Dank Euch allen und schönes Wochenende
Don