Office: (Office 2010) UFO Button Anzeigefilter

Helfe beim Thema UFO Button Anzeigefilter in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Code: Dim rs as DAO.Recordset Dim strSQL as String strSQL = "SELECT 0 AS MAID, 'ALLE' AS Nachname, '' AS Vorname FROM Mitarbeiter UNION SELECT... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von mad.din, 16. Dezember 2014.

  1. UFO Button Anzeigefilter


    Code:
    DAO ist in den höheren Versionen in der Microsoft Office x.0 Access Database Engine Object Library mit drin.

    maike
     
  2. Sorry, aber aus irgendeinem Grund funktioniert BOF bei mir noch immer nicht. Ich komm mir im Moment ein bisschen unfähig vor *frown.gif*

    Code:
    Ich hatte die mit 1 bis 4 markierten Zeilen test weise auskommentiert, dies hatte jedoch überhaupt keine Auswirkungen auf das Ergebnis. Deshalb habe ich mir dann die Zeile mit der Markierung 5 erstellt. Diese MsgBox liefert mir nun bei jeden Klick auf "vorher" den Wert Falsch. Auch beim der MAID 1 und der MAID 0. Ich gehe davon aus, dass kann nicht korrekt sein, weiß aber nicht, wie ich den Fehler beheben kann...

    Gruß MADDIN
     
    mad.din, 7. Januar 2015
    #17
  3. Ich weiß nicht, was du mit dem .BOF hast *wink.gif* .
    Da oben kann nicht BOF sein, es sei denn, das Recordset wäre leer.
    Und das
    Code:
    fehlt noch im Code.
    maike
     
  4. UFO Button Anzeigefilter

    Naja, Mein Kombifeld hat ja die MAIDs aus der Mitarbeitertabelle zur Auswahl. Zusätzlich gibt es die MAID 0. Also sieht das bei mir so aus:
    0 > 1 > 2 > 3 > 14 > 15 > 21 usw.
    Die IDs dazwischen wurden gelöscht. Kommt ja im Alltag auch mal vor, dass Mitarbeiter das Unternehmen verlassen.
    Ich habe meine MsgBox jetzt schon ganz am Ende von dem Code für den vorher-Klick stehen. Trotzdem kommt immer Falsch als Antwort. Wo ist denn nun das Ende meines Recordsets? Es gibt bei mir keine MAID die kleiner als 0 ist. Und genau dass soll doch .BOF abfangen?

    Mit .BOF habe ich das Problem jetzt erstmal mit meiner MAID 0 gelöst (siehe vorheriger Code). Diese wird für immer die kleinste MAID sein. Aber mit .EOF ist das nicht so einfach. Wenn ich den letzten Datensatz erreicht habe (ich weiß, dass das der letzte ist, Access scheinbar nicht) und dann auf weiter klicke, wird mir gemeldet, dass
    der Wert den ich eingegeben habe nicht eindeutig sei - Laufzeitfehler 2113.

    Code:
    Und statt .BOF kann ich auch nicht einfach eine End-MAID festlegen, weil eine Änderung des Codes beim Einstellen neuer Mitarbeiter logischerweise nicht das Ziel ist. Das soll schon schön automatisch erkannt werden...

    Mit Grüßen verabschiede ich mich jetzt in den Feierabend.
    Bis morgen MADDIN
     
    mad.din, 7. Januar 2015
    #19
  5. Bof verhindert, dass der Befehl MovePrevious ausgeführt wird, wenn das Recordset schon am oberen Anschlag angekommen ist (eof macht das gleiche für das Ende des Recordsets). Wo Anfang und wo Ende ist, wird durch die Sortierung (aus der Abfrage) festgelegt.
    Das Kombi ist ja vermutlich nach Nachname sortiert, das Recordset nach MAID. Da muss der letzte Satz im Kombi nicht zwangsläufig auch der letzte im Recordset sein.
    Kannst du das Ganze mal hochladen? Reduziert auf die notwendigen Teile, mit ein paar Dummydaten, Access komprimiert und gezippt und wenn möglich im Format Access 2003 (.mdb).
    maike
     
  6. Hallo,
    also ich habe die Datenensätze sowohl im Kombi, als auch im RS nach der MAID sortiert. Wenn ich diese nach Nachname sortieren möchte müsste ich nur in den beiden die Sortierung umstellen und ALLE mit Sonderzeichen versehen, damit es weiterhin ganz oben steht, richtig?
    Dein Code sieht so aus, als ob wenn BOF oder EOF erreicht sind eine MsgBox erscheinen sollte. Aber eben diese hat mir Access noch nie geliefert...
    Dank und Grüße
    MADDIN
     
    mad.din, 7. Januar 2015
    #21
  7. Hast Du eben nicht:
    Code:
    Es ist doch sinnfrei, das Kombifeld nach Mitarbeitern und das Recordset nach ID zu sortieren.

    Darf ich nochmal an meinen Vorschlag #4 erinnern:

    Also in etwa so:
    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  8. UFO Button Anzeigefilter

    Ups, das war mein Fehler, sorry. Aber das ändert nix an meinem Problem. Die größte in der Mitarbeiter-Tabelle gespeicherte MAID wird von EOF immer noch nicht erkannt. Ich habe jetzt mal deinen Code bei naechster_Click eingefügt und dafür die entsprechenden anderen 3 Zeilen auskommentiert. Das Ergebnis ist genau das Selbe, wie mit den 3 Zeilen. Ich kann einwandfrei die MAIDs durchklicken und nach der letzten kommt ein Fehler:
    2113: Sie haben einen wert eingegeben, der für dieses Feld nicht gültig ist.
    Das erscheint mir auch logisch, weil es gibt ja keine weitere, größere MAID. Aber warum wird das nicht von EOF abgefangen? Gelb markiert ist übrigens
    Code:
    Übrigens, als deine #4 aktuell war, war ich mit RowSource noch überfordert. Jetzt durch deinen erneuten Hinweiß darauf weiß ich, dass die Daten aus dem Kombifeld geladen werden. Danke *wink.gif*
    Was kann ich noch versuchen, dass EOF und BOF anständig ihren Dienst verrichten?
    Grüße vom MADDIN
     
    mad.din, 7. Januar 2015
    #23
  9. Ich habe mal an den beiden inneren Buttons gebastelt.

    Beachte, dass es jetzt keinen Tipp-Text mehr gibt, sondern aussagekräftige Designs. Und die Buttons werden wechselseitig gesperrt, somit entfällt eine MsgBox.
     
  10. \@Maxel
    Ich hab schon überlegt, wie der Satz vor .EOF bzw. .BOF im Recordset zu identifizieren wäre. Einfach einen weitergehen und nachgucken *mrcool

    Die Messagebox würde ich aber lassen, sonst wundert sich der Anwender, dass nichts mehr passiert beim Weiterklicken, das Ausgrauen fällt nicht so auf.
    maike
     
  11. So, da melde ich mich nochmal zu Wort.
    ich habe jetzt eine Lösung gefunden die bei mir wunderbar funktioniert:
    Code:
    Mit dem Code kann ich jetzt also das EOF "selber ermitteln". Das heißt es funktioniert jetzt, wenn auch nicht mit der integrierten und dafür vorgesehenen Funktion...

    @maxel
    Ich vergleiche im Moment die Codes und versuche jetzt die Unterschiede zu verstehen. Ich betrachte im Moment den Code bei naechster_Click:
    Ist es egal was man beim RS als erstes sucht/findet? Bei mir steht da rs.findlast und bei dir rs.findfirst...
    Warum wird der Fokus auf das Kombi gelegt?
    Und wie funktioniert diese Bedingung zu deaktivieren der Schaltfläche?
    Code:
    @maikek
    Das versteh ich gerade gar nicht. Wozu soll das gut sein? Mir würde ja schon reichen, wenn BOF und EOF funktionieren würden.

    Grüße MADDIN
     
    mad.din, 8. Januar 2015
    #26
  12. Das ist in diesem Fall Wurscht, da die MAID eindeutig ist.
    Wenn ein Steuerelement inaktiviert werden soll (enabled = False), darf es nicht den Fokus haben. Der wird also zuvor auf ein anderes Steuerelement gelegt; ich habe mich für das Kombifeld entschieden.
    Das ist die einzeilige Kurzform von
    Code:
     
  13. UFO Button Anzeigefilter

    Ah, ok. Danke für diese Erklärung. Mir ist gerade aufgefallen, dass es doch nicht so einfach wie erhofft ist, die Sortierung nach Nachname vorzunehmen. Aber damit werde ich mich dann erst morgen beschäftigen. Da wird es bestimmt nochmal Fragen dazu geben.
    Gruß MADDIN
     
    mad.din, 8. Januar 2015
    #28
  14. Das tun sie ja. Wenn allerdings der Datensatzzeiger auf .eof steht (Ende des Recordsets erreicht) und dann noch mal der Befehl MoveNext kommt, gibt es einen Fehler, genauso in der anderen Richtung.
    maike
     
  15. Hallöchen,
    ich hab super gute Nachrichten. Mein BOF und EOF funktionieren jetzt endlich. Ich habe einfach das .movenext verschoben:

    Code:
     
    mad.din, 8. Januar 2015
    #30
Thema:

UFO Button Anzeigefilter

Die Seite wird geladen...
  1. UFO Button Anzeigefilter - Similar Threads - UFO Button Anzeigefilter

  2. vom Ufo aus DS im 2. Ufo wechseln

    in Microsoft Access Hilfe
    vom Ufo aus DS im 2. Ufo wechseln: Moin, ich möchte Datensätze aus zwei Tabellen miteinander verknüpfen. Dazu habe ich ein Hauptformular mit zwei Ufos gebastelt, in denen jeweils die Datensätze der beiden Tabellen endlos...
  3. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  4. Abfrage innerhalb eines UFO

    in Microsoft Access Hilfe
    Abfrage innerhalb eines UFO: Hallo Ihr Lieben, hab mir schon einen Wolf gegoogelt und bis her nichts passendes gefunden*weinen Folgende Situation: Ich habe ein Formular (frmVerwaltungQryFertM_ufo), wo ich mittels...
  5. Summe ungebundener Textfelder von UFO ins HFO

    in Microsoft Access Hilfe
    Summe ungebundener Textfelder von UFO ins HFO: Hallo zusammen, ich möchte auf einem Formular eine Summe von mehrere Spalten bilden. Diese Summe soll im Anschluss von einem ungebundenen Texfeld abgezogen werden. Die Textfelder in denen die...
  6. Aus Ufo Focus auf ein Feld im Hf setzen

    in Microsoft Access Hilfe
    Aus Ufo Focus auf ein Feld im Hf setzen: Hallo, auf dem Hf frmInfo ist ein Datensatz zur Dateneingabe geöffnet. In einigen Fällen möchte ich zusätzliche Daten in einer weiteren Tabelle eintragen. Dazu wird das sfmTausch sichtbar...
  7. Bezug zum Feld im UFO

    in Microsoft Access Hilfe
    Bezug zum Feld im UFO: Hallo zusammen, ich versuche gerade, je nach dem was gefiltert wird, Summen diverser Spalten im HFO anzeigen zu lassen, jedoch funktioniert das einfach nicht. *grummel* Mein "Unterformular"...
  8. Button drücken per VBA in UFO

    in Microsoft Access Hilfe
    Button drücken per VBA in UFO: Servus, ich habe einen Button in einem Unterformular welches in einer Registerkarte ist. Nun habe ich einen Button auf dem Hauptformular, auf welchen ich drücken will und der unter anderem den...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden