collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 79
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14395
  • stats Beiträge insgesamt: 71381
  • stats Themen insgesamt: 9626
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Automatische Sortierung im formularbasierten Filter  (Gelesen 10451 mal)

Offline MarkusN

  • Newbie
  • Beiträge: 18
Automatische Sortierung im formularbasierten Filter
« am: September 03, 2010, 09:41:27 »
Hallo, ich habe jetzt wahrscheinlich ein etwas einfacheres Problem.  ;D

Also ich würde gerne per Button einen formularbasierten Filter öffnen und direkt alle Daten angezeigt bekommen, die Daten in einem Datumsfeld haben und diese automatisch sortieren lassen.

Der Filter öffnet sich schon per Knopfdruck, nur leider komme ich bei dem Rest nicht weiter.

Für Hilfen wäre ich sehr dankbar.

Lg

 

database

  • Gast
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #1 am: September 03, 2010, 09:47:18 »
Hallo,

vielleicht kannst du mit den Codes im folgenden Beitrag was anfangen?

http://www.access-o-mania.de/forum/index.php?topic=8746.0

Greets
 

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #2 am: September 03, 2010, 10:38:06 »
Das geht schon in die richtige Richtung, aber da wird ja nur ausgelesen wie die Formulare aktuell sortiert sind.
Um das auf meine Bedingungen umzuschreiben, fehlt mir da einiges an Fachwissen.

Für weitere Hilfen wäre ich also dankbar.
 

database

  • Gast
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #3 am: September 03, 2010, 12:33:03 »
Hallo,

wenn die Sortierung auszulesen ist sollte sie auch zu setzen sein.
Versuch mal nach den Befehlen für die Filterung:

Für Absteigende Sortierung:

    Me.OrderBy = "[NamederSpalte] DESC"
    Me.OrderByOn = True


und für Aufsteigend:


    Me.OrderBy = "[NamederSpalte]"
    Me.OrderByOn = True


Damit sollte es lösbar sein

Peter
 

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #4 am: September 06, 2010, 09:37:44 »
Ich muss leider zugeben, dass ich das Problem immer noch nicht lösen konnte.
Leider habe ich da gleich mehrere Probleme.

1. ist die Sortierung immer absteigend. Ich habe schon versucht ASC zu verwenden, aber das funktionierte auch nicht.

2. Wird das Suchkriterium der vorherigen Suche gespeichert. Alle anderen Felder müssten also gelöscht werden. (Me.Filter = "" funktioniert nicht)

3. Werden so glaube ich keine Datensätze ausgeschlossen. Ich will ja nur Datensätze angezeigt bekommen, die Einträge in einem bestimmten Feld haben.

Im Moment sieht das ganze so aus.



Private Sub Befehl118_Click()

Dim fstr As String

On Error GoTo Err_Befehl118_Click

    DoCmd.RunCommand acCmdFilterByForm

Exit_Befehl118_Click:
    Exit Sub

Err_Befehl118_Click:
    MsgBox Err.Description
    Resume Exit_Befehl118_Click
    
    '-----------------------------------
    ' Formular Sortieren
    '-----------------------------------
    


      If Me.FilterOn Then
        If Not IsNull(Me.Filter) Then
            fstr = Me.Filter
            If Len(fstr) > 0 Then

           Me.OrderBy = "[Nächster Termin]ASC"
           Me.OrderByOn = True
 
            End If
         End If
      End If
    
End Sub


Grüße und einen schönen Start in die Woche
« Letzte Änderung: September 06, 2010, 11:10:05 von MarkusN »
 

database

  • Gast
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #5 am: September 06, 2010, 19:47:51 »
Hallo,

Wenn du den Code hinter deinm Button tatsächlich so stehen hast wie du ihn hier 'reinkopiert hast, kann das m.E. nicht laufen!
Die Sortierung setzt du da ja in der Fehlerbehandlung!

Nimm die Sortierung raus:
Me.OrderByOn = vbNullString
Me.OrderByOn = False

Den 'alten' Filter löschst du am Besten mit

Me.Filter = vbNullString
und dann nimmst du die Filterung raus mit:

Me.FilterOn = False
und erst DANACH setzt du den neuen Filter und gleich anschließend die Sortierung

Me.Filter = "DeinFilterKriterium" 'entspricht einer gültigen WHERE Klausel ohne Schlüsselwort WHERE
Me.FilterOn = true
'-----------------------------------
' Formular Sortieren
'-----------------------------------
Dim fstr As String

If Me.FilterOn Then
    If Not IsNull(Me.Filter) Then
        fstr = Me.Filter
        If Len(fstr) > 0 Then
           Me.OrderBy = "[Nächster Termin]" 'DESC optional
           Me.OrderByOn = True
        End If
    End If
End If


...und danach folgt erst die Fehlerbehandlung

Das sollte eigentlich schon so  funktionieren ??? :-\

Grüße
 

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #6 am: September 07, 2010, 14:29:07 »
Ich enttäusche dich ja nur sehr ungerne, aber 2 Probleme habe ich noch.

  'Sortierung entfernen
    Me.OrderByOn = vbNullString    "Laufzeitfehler 5" Ungültiger Prozessaufruf oder ungültiges Argument


    'Neuen Filter setzen                     
    Me.Filter = "nächster Termin"    "Laufzeitfehler 2448" Sie können diesem Objekt keinen Wert zuweisen

Bei dem setzen des Filters würde ich gerne so etwas machen wie     Me.Filter = "nächster Termin len >0"

War wohl doch nichts mit dem einfacheren Problem.  ???
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23725
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #7 am: September 07, 2010, 15:38:46 »
Hallo,

es muss so heißen:

Me.OrderBy = vbNullString
Me.OrderByOn = False


Nach was willst Du denn filtern?

Me.Filter = "nächster Termin len >0"

ist unverständlich.

Wenn Du alle DS anzeigen willst, bei denen im Feld (Spalte) [nächster Termin]  (Leerzeichen vermeiden!, mindestens aber Eckklammern benutzen!!) etwas eingetragen ist, dann eher so:

Me.Filter = "[nächster Termin] is not null"
Me.FilterOn=True

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #8 am: September 07, 2010, 16:16:17 »
Genau, ich will alle Datensätze angezeigt bekommen, bei denen im Feld "Nächster Termin" ein Wert eingetragen ist.

Leider bekomme ich immer noch die Fehlermeldung.    "Laufzeitfehler 2448" Sie können diesem Objekt keinen Wert zuweisen
und das an 4 Stellen, wenn ich jeweils die vorherigen Zeilen entferne.       

     'Sortierung entfernen
        Me.OrderBy = vbNullString
        Me.OrderByOn = False
     
    'alten Filter löschen
    Me.Filter = vbNullString
   
    'Filterung rausnehmen
    Me.FilterOn = False
   
    'Neuen Filter setzen
    Me.Filter = "[nächster Termin] is not null"
    Me.FilterOn = True
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23725
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #9 am: September 07, 2010, 16:20:06 »
Hallo,

lad die DB mal hoch, vorher komprimiert und gezippt...

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #10 am: September 07, 2010, 18:24:31 »
Willst du dir das wirklich antun?  ;D

Die Datenbank bin ich gerade komplett am überarbeiten.
Da kommen 2 Tabellen mehr rein. Das mit der Firmentabelle ist grausam, aber das ist ein
anderes Problem.

Viel Spass damit, danke schön und nicht zuviel lachen.
obwohl lachen ist ja gesund.

lg

[Anhang gelöscht durch Administrator]
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23725
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #11 am: September 07, 2010, 21:30:49 »
Hallo,

na, es ist eher zum Weinen...  :'(      ;D


Ich habe nur den thema-bezogenen Code angesehen, der so funktioniert:

Private Sub Befehl118_Click()
    DoCmd.RunCommand acCmdRemoveFilterSort
    Me.Filter = "[nächster Termin] is not null" 'entspricht einer gültigen WHERE Klausel ohne Schlüsselwort WHERE
    Me.FilterOn = True
    Me.OrderBy = "[Nächster Termin]" 'DESC --> ABSTEIGEND
    Me.OrderByOn = True
End Sub
 



Das ursächliche Problem zur Fehlermeldung war, dass im "formularbasierten Filter" -Modus des Forms die OrderBy- und Filter- Eigenschaften nicht gesetzt werden können (was ja doppelt gemoppelt wäre...)





database

  • Gast
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #12 am: September 07, 2010, 21:49:04 »
Hallo,

@DF6GL

es muss so heißen:

Me.OrderBy = vbNullString
Me.OrderByOn = False

...man(n) soll beim schreiben nicht am Kopf stehen ...  oder doch die Reihenfolge überprüfen wenn man die Argumente vorsortiert  ;D >:( ;D
mein Fehler *grrrr*
 

Offline MarkusN

  • Newbie
  • Beiträge: 18
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #13 am: September 07, 2010, 22:09:07 »
Na so lange keine grauen Haare wachsen, sind es keine bleibenden Schäden.  :D

Na das funktioniert schon sehr gut.
Ein kleiner Schönheitsfleck gibt es noch.
Wenn ich erst den automatischen Filter verwende, und danach den manuellen, steht im Feld "nächster Termin" noch "ist nicht null".
Aber Heute packe ich nur noch einige Kartons. Bin im Vorumzugsstress oder so.  :-\

Vielen Dank euch beiden für die Hilfe.
Du kennst jetzt die Datenbank und wirst wissen das ich bald wieder nach Hilfe schreie.  ;D

Schönen Abend noch.
 

database

  • Gast
Re: Automatische Sortierung im formularbasierten Filter
« Antwort #14 am: September 08, 2010, 21:25:42 »
Hallo,

Zitat
Na so lange keine grauen Haare wachsen
tja das hättest du mir früher sagen sollen --- jetzt hab ich das Zeugs schon ein paar Jahre und werds nimmer los  :'(

 :D :D :D
 

 

automatische Tabellenerstellung

Begonnen von cafepeBoard Tabelle/Abfrage

Antworten: 3
Aufrufe: 3548
Letzter Beitrag Juni 07, 2010, 17:07:38
von DF6GL
automatische Namensvergabe

Begonnen von klamotteBoard Formular

Antworten: 2
Aufrufe: 2349
Letzter Beitrag Juli 27, 2010, 13:43:20
von klamotte
Automatische Anzeige mit DomWert

Begonnen von Magixg23Board Formular

Antworten: 3
Aufrufe: 6124
Letzter Beitrag September 02, 2010, 10:32:19
von database
Automatische DS Bearbeitung

Begonnen von Bernie110Board Access Programmierung

Antworten: 4
Aufrufe: 2043
Letzter Beitrag November 18, 2010, 10:50:30
von Bernie110
Automatische Tabellenanlage

Begonnen von buzziBoard Tabelle/Abfrage

Antworten: 10
Aufrufe: 4783
Letzter Beitrag Dezember 06, 2010, 18:55:34
von buzzi