Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Sortierung mit Zähler

Begonnen von linuxluder, Oktober 25, 2013, 10:27:38

⏪ vorheriges - nächstes ⏩

linuxluder

Wenn ich das berechnete Feld in eine Tabelle schreibe, wäre es dann besser?

DF6GL

Hallo,

WAS geht nicht?


Gibt es die Felder in der Tabelle?


Wird der Code abgearbeitet?

Ist der Order-String EXACT in der If-Bedingung angegeben?


Änder den Code in dieses:

Sub MeinMonatsfeld_Click()
If Instr(Me.Orderby,"Desc")  Then
Me.Orderby = "[sep]+[okt]+[nov] Asc"
Else
Me.Orderby = "[sep]+[okt]+[nov] Desc"
End If
Me.OrderbyOn =true
End Sub

linuxluder

Hallo Franz,

danke für deine nochmalige Antwort.
Also, dein zuletzt geposteter Code klappt, allerdings erfolgt die Sortierung nur absteigend. Bei einem nochmaligen Klick bleibt die Sortierung erhalten.
Sag mir bitte einfach nur, ob du mir noch einen Vorschlage schicken willst. Sonst mache ich es einfach wieder mit "modulo". Allerdings müsste ich dazu das berechnete Feld erst in eine Tabelle schreiben, oder?

Schöne Größe von der Donau an den Bodensee
Jo

DF6GL

Hallo,

wir sollten die Ursache für das Fehlverhalten suchen und eliminieren, nicht auf andere fragwürdige Lösungswege ausweichen.


Setz mal einen Haltepunkt an den Code-Anfang und durchlaufe ihn mit Einzelschritt..  Dabei prüfst Du den jeweils den Inhalt der Orderby-Eigenschaft und auch die "Instr" -Funktion.



linuxluder

Vielen Dank, aber da fehlen mir, wie bereits erwähnt, die VBA Grundlagen. Wenn ich am Anfang des Codes "Private Sub ..." einen Haltepunkt setze und dann kommt mit der Taste F8 (Einzelschritt) nur ein "Pling" aus dem Lautsprecher. Ist mir jetzt echt peinlich, das so zu schreiben :'(

DF6GL

Hallo,

erst muss mal die Prozedur durch den normalen Ablauf aufgerufen werden, sprich durch Klick auf das Feld....

linuxluder

So, jetzt:
Ich klicke auf das entsprechende Feld, und dann immer auf F8
Die Sortierung ist sofort absteigend.

Private Sub Bezeichnungsfeld112_Click()
If InStr(Me.OrderBy, "Desc") Then                           -> InStr (Me.OrderBy, "Desc")=0       ;    Me.OrderBy = "[sep]+[okt]+[nov] Asc"
Me.OrderBy = "[sep]+[okt]+[nov] Asc"                    -> wird nicht angesprungen     
Else                                                                          -> Sprung in dies Zeile
Me.OrderBy = "[sep]+[okt]+[nov] Desc"                  -> wird ausgeführt
End If
Me.OrderB



Bin ich mit F8 in der letzten Zeile, so werden alle Felder, in den die zu sortierenden Werte enthalten sind, mit #Fehler gefüllt.
Das geschieht bei der Ausführung ohne Einzelschritte nicht.

DF6GL

Hallo,


welche Acc-Version benutzt Du?

Kannst Du die Db (datenreduziert und komprimiert/repariert und gezippt)  hier hochladen?


Ich habe dieses Prinzip an einer Acc2013 32Bit (und 64-Bit) Version   unter Win7  erfolgreich getestet...


Es muss natürlich solange F8 gedrückt werden, bis die Prozedur vollständig durchlaufen ist  (und der Haltepunkt auch wieder entfernt werden) .


linuxluder


DF6GL

Hallo,


es fehlen
Option Compare Database
Option Explicit

in den Modul-Köpfen.



Zudem ist runcommand acSaveRecord überflüssig, solange man aus dem Form heraus keinen Bericht aufruft, der die aktuellen Formular-Daten anzeigen soll.


Option Compare Database
Option Explicit
 
Private Sub Bezeichnungsfeld112_Click()
If InStr(Me.OrderBy, "Desc") Then
Me.OrderBy = "[sep]+[okt]+[nov] Asc"
Else
Me.OrderBy = "[sep]+[okt]+[nov] Desc"
End If
Me.OrderByOn = True
End Sub
 
Private Sub Befehl77_Click()
DoCmd.RunCommand acCmdSaveRecord

   DoCmd.OpenReport "dozenten", acViewNormal, , _
                    "[lid]=" & Me!lid
End Sub
 
Private Sub Befehl153_Click()
Me!sep = Nz(Me!sep, 0) - 1

End Sub
 
Private Sub Befehl154_Click()
Me!sep = Nz(Me!sep, 0) + 1

End Sub

linuxluder

Herzlichen Dank!!!
Würde es dir viel ausmachen, mir die DB hier zurück ins Netz zu stellen?


linuxluder

VIELEN LIEBEN DANK!!!
Ich denk an dich, wenn ich das nächste mal nach Zürich fahre!

linuxluder

Hallo,

es ist zwar schon lange her, aber ich habe nochmal eine Frage, die jetzt erst aufgetaucht ist. Beim Klick auf ein Feld wird ASC sortiert, nochmaliges Klicken für zur DESC-Sortierung. Warum bekomme ich aber negative Werte nie zuerst angezeigt?

Danke
Jo

MaggieMay

Hallo,

in der Beispiel-DB funktioniert das aber, wie hast du es denn umgesetzt?
Freundliche Grüße
MaggieMay