Office: (Office 2003) FindNext steht momentan nicht zur Verfügung

Helfe beim Thema FindNext steht momentan nicht zur Verfügung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, seit Tagen knobele ich an diesem kleinen Problem: Meine Rechnungsnummern bestehen aus Jahreszahl - Debitorenkürzel - lfd. Nummer. Alle... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Mark Heintze, 28. Mai 2008.

  1. FindNext steht momentan nicht zur Verfügung


    Hallo,

    seit Tagen knobele ich an diesem kleinen Problem:
    Meine Rechnungsnummern bestehen aus Jahreszahl - Debitorenkürzel - lfd. Nummer.
    Alle Rechnungen sollen in einer Tabelle (Rechnungen) gespeichert werden. Bei einem neuem Datesatz soll bei der Auswahl eines Debitors nach der letzten Rechnungsnummer des Debitors gesucht werden (entprechend dem Kürzel) und die lfd. Nummer um eins erhöht werden.

    Nach Durchforsten sämtlicher Foren komme ich einfach nicht dahin, den nächstmöglichen, dem Filter entsprechenden Datensatz zu finden, um die laufende Nummer auszulesen. Access verbietet einfach die Aktion FindNext mit dem Laufzeitfehler 2046.

    Ich hoffe, hier kann mir ein Denkanstoss weiterhelfen.
    Mein aktueller Code:

    DoCmd.FindRecord Me.ID, acAnywhere, , acSearchAll, True, acAll, True ' Rechnungsnummer mit Debitoren-ID finden
    'MsgBox Me.RechNr

    StrRechNr_1 = Split(Me.RechNr, "-")(UBound(Split(Me.RechNr, "-"))) 'laufende Nummer herausfiltern
    IntRechNr_1 = Val(StrRechNr_1) 'laufende Nummer aus String in Zahl umwandeln

    nochmal:
    DoCmd.FindNext
    'MsgBox Me.RechNr


    StrRechNr_2 = Split(Me.RechNr, "-")(UBound(Split(Me.RechNr, "-"))) 'laufende Nummer herausfiltern
    IntRechNr_2 = Val(StrRechNr_1) 'laufende Nummer aus String in Zahl umwandeln

    If IntRechNr_2 = IntRechNr_1 Then
    number = IntRechNr_2 + 1
    Me.RechNr = DatePart("yyyy", Date) & "-" & DEB_ID & "-" & number

    Else
    GoTo nochmal

    End If

    Beste Grüße
    Mark

    :)
     
    Mark Heintze, 28. Mai 2008
    #1
  2. Hallo und Willkommen im Forum!

    Zunächst einmal solltest du wohl die Info zur Nutzung des Forums von Arne Dieckmann lesen - Code-Auszüge sollten der besseren Lesbarkeit zuliebe in Code-Tags eingeschlossen werden.

    Und dann:
    Ich vermisse die Deklaration und Initialisierung eines RecordSet-Objekts.
    Worauf bezieht denn überhaupt das FindRecord und FindNext?
     
    Anne Berg, 30. Mai 2008
    #2
  3. Hallo Mark

    Ebenfalls willkommen im Forum. Habe einmal so auf die schnelle etwas zusammengebastelt mit Recordset. Evt. Hilft es Dir weiter. Siehe angehängte DB.
     
    Engeli, 30. Mai 2008
    #3
  4. FindNext steht momentan nicht zur Verfügung

    Hallo zusammen,

    vielen Dank für die schnellen Antworten.

    @anne:
    Sorry für mein Vergessen. Werd's mir merken.
    Danke für den Tipp mit dem Recordset. Werd's mal mit einbauen. FindRecord sollte einfach nur das Feld finden, wie es durch Me.ID definiert wurde. Das klappt ja auch soweit, nur das der Sprung zum nächsten Datensatz verweigert wird.

    @markus:
    Vielen Dank für den schnellen Aufbau einer DB. Leider reagiert der Button "Fortlaufende Nummer vergeben" irgendwie nicht so, wie ich mirs vorstelle. Kannst Du bitte erklären, wie ich was machen soll.

    Viele Grüße
    Mark
     
    Mark Heintze, 31. Mai 2008
    #4
  5. Hallo Mark

    Sorry. War gestern ein bisschen spät. Entferne Bitte einmal folgende Codezeile:

    Code:
    Natürlich kannst Du das ganze auch mit Abfragen oder direkt mit CurrentDB.Execute lösen. Mit dem letzteren stehe ich auf Kriegsfuss, da habe ich öfters Probleme mit der Syntax, also habe ich ein Beispiel mit Recordset erstellt.
    Aber mit der Suche kannst Du sehr viele verschiedene Möglichkeiten finden.

    Um das Formular nach Debitorenkürzel zu filtern, kannst Du in der Prozedur Nach Aktualisierung des Kombinationsfeldes folgende Codezeilen einfügen:

    Code:
    Um die Filterung zu entfernen. Hinter einen Button beim Klicken:

    Code:
     
    Engeli, 31. Mai 2008
    #5
  6. Hallo Markus,

    vielen lieben Dank für Deine Hilfestellung.
    Ich komme leider in den nächsten Tagen aus privaten Gründen nicht dazu, weiter an der DB zu arbeiten. Sobald ich dafür wieder Zeit finde, werde ichs in jedem Fall ausprobieren und mich in jedem Fall wieder melden.

    Bis dahin verbleibt mit freundlichen Grüßen
    Mark
     
    Mark Heintze, 1. Juni 2008
    #6
  7. Hallo Markus,

    sorry für meine echt späte Antwort. Hatte aber in der letzten Zeit ne Menge um die Ohren.

    Vielen vielen Dank. Genauso habe ich das gebraucht. Jetzt funktionierts so, wie ichs vor hatte.

    Viele Grüße
    Mark *happy
     
    Mark Heintze, 17. Juni 2008
    #7
  8. FindNext steht momentan nicht zur Verfügung

    Hallo Markus,

    eine Frage habe ich noch:

    Wieso ist bei der laufenden Nummer bei 10 Schluß?
    Wie bekommt man den Wert höher?

    Grüße von
    Mark *confused.gif*
     
    Mark Heintze, 18. Juni 2008
    #8
  9. um den Tread abzuschliessen, hier noch die fehlende Antwort:

    Im SQL String ist der Fehler MAX. Mit Max erkennt er den höchsten Wert nur bis 9. Also zählt er immer wieder bei neun weiter.

    Ersetze Max mit LAST.
     
    Mark Heintze, 3. September 2008
    #9
  10. .. und du wirst irgenwann einmal sehr überrascht werden. *Smilie

    Wenn Max(..) immer nur 9 zurückgibt, dann tippe ich auf ein Textfeld.
    "9" > "100"
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  11. Hallo Josef P.,

    vielen Dank für den Hinweis.
    Mit welcher Überraschung darf ich denn rechnen?
     
    Mark Heintze, 3. September 2008
    #11
  12. ... dass Last nicht das liefert, was du erwartest. *Smilie

    Beispiel:
    tabelle XYZ
    - ID (PK, long)

    Start mit leerer Tabelle

    insert into XYZ (ID) values (100)
    insert into XYZ (ID) values (101)
    => Last liefert 101

    insert into XYZ (ID) values (50)
    => Last liefert 50

    nun komprimierst du die DB, dann liefert Last den Wert vom höchsten PK also 101
     
  13. FindNext steht momentan nicht zur Verfügung

    Hallo Josef P.

    danke für den Tipp.*top

    Bei mir wird allerdings der Zahlenwert mit einem String verknüpft. Dieser wird vor dem weiterzählen herausgefiltert, entfernt und dann wieder angefügt.

    Damit, so denke ich, sollte dieses Phänomen nicht entstehen.*Smilie
     
    Mark Heintze, 3. September 2008
    #13
  14. Das Verhalten der Last-Aggregat-Funktion ist unabhängig vom Datentyp.

    Ich kann mir darunter zwar nichts vorstellen, ist aber auch egal, da du bestimmt richtig vorgehen wirst, wenn du das Problem mit Last/First erkannt hast. *wink.gif*
     
  15. Hast Du den geprüft, ob Du zum Zeitpunkt der Herausfilterung einen Zahlenwert oder doch einen Textwert hast? Das falsche Maximum würde mich nachdenklich stimmen.
     
Thema:

FindNext steht momentan nicht zur Verfügung

Die Seite wird geladen...
  1. FindNext steht momentan nicht zur Verfügung - Similar Threads - FindNext momentan Verfügung

  2. FIND und FINDNEXT Problem

    in Microsoft Excel Hilfe
    FIND und FINDNEXT Problem: Hallo, ich habe ein Problem mit dem Find und Findnext. Ich möchte den Wert in Spalte D und Zeile x suchen, allerdings darf in der erste gefundene Eintrag nicht die Ausgangszelle sein und dann ein...
  3. Momentane Sperrung durch eine andere Sitzung auf diesem Rechner

    in Microsoft Access Hilfe
    Momentane Sperrung durch eine andere Sitzung auf diesem Rechner: Hallo zusammen, tut mir leid, aber ich muss dieses Thema, das hier schon oft erörtert wurde (auch von mir schon mal angegangen, siehe hier http://www.ms-office-forum.net/forum...ch+eine+andere)...
  4. Momentane Sperrung durch andere Sitzung

    in Microsoft Access Hilfe
    Momentane Sperrung durch andere Sitzung: Hallo zusammen, ich kann mir zwar denken, an was es liegt, dass diese Fehlermeldung kommt, aber wie soll ich´s lösen: ich habe ein Formular A mit 4 Textfeldern, Datensatzquelle ist eine tblTexte...
  5. Fehler "Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert" ...

    in Microsoft Access Tutorials
    Fehler "Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert" ...: Fehler "Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert" beim Versuch, ODBC-Schnittstellen des Access-Datenbankmoduls zu verwenden Access für Microsoft 365...
  6. Ihr Wiki kann momentan nicht angezeigt werden. Bitte versuchen Sie es später erneut.

    in Microsoft Teams Hilfe
    Ihr Wiki kann momentan nicht angezeigt werden. Bitte versuchen Sie es später erneut.: Hallo zusammen, wir benutzen seit einigen Jahren Microsoft Teams. Neuerdings besteht das Problem, dass bei neu angelegten Kanälen das Wiki nicht erreichbar ist und auch nach dem löschen nicht...
  7. Docmd.TransferText liefert Fehler 2046 Der Befehl oder die Aktion steht momentan...

    in Microsoft Access Hilfe
    Docmd.TransferText liefert Fehler 2046 Der Befehl oder die Aktion steht momentan...: Hallo zusammen, ich verwende den Befehl Docmd.TransferText. Dieser liefert zeitweise den Laufzeitfehler 2046 "Der Befehl oder die Aktion TransferText' steht momentan nicht zur Verfügung."...
  8. Datei wird momentan von xyz geändert. Möchten Sie schreib...

    in Microsoft PowerPoint Hilfe
    Datei wird momentan von xyz geändert. Möchten Sie schreib...: Datei wird momentan von xyz geändert. Möchten Sie sie schreibgeschützt öffnen? Die Meldung kommt bei uns jetzt fast bei jeder PPT-Datei (PPT 2000), die auf dem Netzt liegt, und zwar wenn die...
  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