Office: (Office 2010) Eindeutige Satznummer generieren

Helfe beim Thema Eindeutige Satznummer generieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ich bin glaube ich nun auf die Lösung gestossen, zumindest werde ich das testen. Das - hoffentliche - zauberwort heisst adlocckpessimistic.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Firewolf30, 23. Juni 2015.

  1. Eindeutige Satznummer generieren


    Ich bin glaube ich nun auf die Lösung gestossen, zumindest werde ich das testen. Das - hoffentliche - zauberwort heisst adlocckpessimistic.

    Hilfstabelle mit einem Satz, in dem die nächste frei Nummer steht.

    Beim drücken des Buttons "Speichern" nach der Erfassung eines Auftrages wird die Hilfstabelle in VBA geöffnet, ein select mit adlockpessimistic, übernahme der Nummer ins Formular, erhöhen der Nummer, update (und Aufhebung des Locks), close der Tabelle.

    Versucht ein zweiter Benutzer zu lesen, sollte er nach meienr Erwartung eine Systemmeldung Satz gesperrt bekommen. Er kann dann den Button nochmal drücken und alles ist gut. Laufen beide Speichern Aktionen nacheinander gibt es eh keine Probleme.

    Ich werde berichten.
     
    Firewolf30, 25. Juni 2015
    #16
  2. Mag situationsbezogen ein "nice-to-have" Punkt sein.
    Mir wäre allerdings kein wirklicher Grund bekannt, wo man eine durchlaufende Nummerierung haben muss solange die Nummerierungen eindeutig sind.
    Selbst bei Rechnungsnummern ist das nicht mehr notwendig.
     
    racoon0506, 25. Juni 2015
    #17
  3. \@racoon sorry über manche Dinge möchte ich nicht diskutieren.
    Ich suche ganz einfach: Lösungen.
    Ich bin Laufende Nummern ohne Lücken aus meinem Tagesgeschäft gewohnt. Da habe ich aber andere Werkzeuge. Deshalb war die einzige Frage: Geht das unter Access? Inzwischen habe ich aus den Antworten herausgelesen - Im Prinzip Nein. Wie gesagt werde ich nun das adLockPessimistic probieren. Wenn es klappt sind alle meine Probleme gelöst.
     
    Firewolf30, 25. Juni 2015
    #18
  4. Eindeutige Satznummer generieren

    Geht mir nicht um Diskussionen, sondern um ein Beispiel für einen zweckmässigen Einsatz! Vielleicht komme ich ja mal in die Verlegenheit, in der sowas benötigt wird...
    Nur wie gesagt.... in den vergangenen 25 Jahren ist mir das nicht einmal passiert und deshalb sehe ich darin keinerlei Sinn! Verstehen würde ich es aber schon gern.
    Nur wenn du deine Gründe nicht nennen magst.... ok!
    Gehen tut das unter Access schon. In einer Multi-User-Umgebung kannst du es aber programmiertechnisch nicht immer sicherstellen. Nach X funktionierenden Vorgängen wird es immer mal einen Fall geben, der dir eine Lücke verursacht. Und diese Lücke liesse sich beim nächsten Vorgang gleicher Art dann schliessen. (Gibt diverse Threads im Netz zu Quasi-Laufende-Nr/Quasi-Auto-Wert und dergleichen, in denen sowas nachgestellt wird. Ob das bei deinem Vorhaben passt, lässt sich mangels Auskunft nicht sagen. Also bitte selbst probieren.)
     
    racoon0506, 25. Juni 2015
    #19
  5. ...und ein Feld für diese NR in der Tabelle (eindeutiger Index) und eine Anfügeabfrage
    die diese Nr erweitert?

    Denke, wenn diese Nr in der gleichen ""Sek einfügt wird, wird eine "Fehlermeldung" starten.
    Die man wiederum abfangen kann, wenn das ganze in eine Funktion abgehandelt wird und dennoch diese, dann wieder neue Nr vergeben kann.

    Aber, das wirst wohl auch nicht diskutieren wollen *Smilie

    Guten Tag
     
    Kyron9000, 25. Juni 2015
    #20
  6. Hallo!

    @Kyron9000:
    Der Feuerwolf redet nicht mit jedem hier im Forum.
    Geschweige diskutieren.

    Wolfgang
     
    wb_3001, 25. Juni 2015
    #21
  7. Ich werde nun das mit adlocckpessimistic testen.

    Das ist vom Aufwand her minimal und sollte mich zum Ziel führen. Wenn nicht ..... muss ich zusammen mit Cheffe überlegen was wir machen.
     
    Firewolf30, 25. Juni 2015
    #22
  8. Eindeutige Satznummer generieren

    Hallo @Wolfgang,

    das habe ich schon bemerkt und mir auch gemerkt *Smilie

    PS: für was fragt er dann... um eine punkt-passende Antwort zu bekommen?! *Smilie
     
    Kyron9000, 25. Juni 2015
    #23
  9. Hallo,
    und das Forum hat er auch gewechselt, sind aber die gleichen Antworten.
    halte ich alles für überflüssig. Eindeutiger Index und Max+1 reicht.
     
    gpswanderer, 25. Juni 2015
    #24
  10. Hallo!

    Ich bin auch der Meinung, dass ein eindeutiger Index inkl. Max(..)+1 beim Einfügen ausreicht.
    Lücken können nur entstehen, wenn Datensätze gelöscht werden. (Das müsste in dieser Tabelle verboten werden.)
    Im Ausnahmefall (bei exakt gleichzeitigem Einfügen) kann es höchstens zu einer Schlüsselverletzung kommen. Dann startet man einfach den Einfügevorgang erneut und alles ist wie es sein soll.


    Da Access 2010 zum Einsatz kommt, würde ich das außerdem nicht über Client-Code lösen sondern einen Trigger (Datenmakro) dafür verwenden.


    mfg
    Josef
     
    Josef P., 25. Juni 2015
    #25
  11. \@gpswanderer ..... ob überflüssig oder nicht meine Frage war einfach gibt es sowas wie "adlocckpessimistic" gibt und wie sie sieht die Syntax in einem VBA-SQL aus.

    @josef, da ich keine Lücken will, ist sichergestellt, dass in der Anwendung keine Datensätze gelöscht werden. Es gibt eine Status gelöscht bzw zurückgenommen.
     
    Firewolf30, 25. Juni 2015
    #26
  12. Du kannst die Hilfstabelle mit dem Zählerstand einfach für das Schreiben sperren. ADO Recordset -> Option -> dbDenyWrite. Den Zähler erhöhen und die Tabelle wieder freigeben. F1 kann grundsätzlich helfen. *Smilie

    Hilfstabelle ist natürlich nicht nötig. Einfacher wäre natürlich: einfach die Datentabelle öffnen und über die Anzahl der Datensätze der Zähler generieren.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 26. Juni 2015
    #27
  13. Eindeutige Satznummer generieren

    Hilfstabelle ist natürlich nicht nötig. Einfacher wäre natürlich: einfach die Datentabelle öffnen und über die Anzahl der Datensätze der Zähler generieren.
     
    markusxy, 26. Juni 2015
    #28
  14. Nun ja, es gibt Ecken und Kanten. Eigentlich: "Der Kopf ist rund, damit das Denken die Richtunbg wechseln kann."

    Die oben genannten einfachen Methoden sind durchaus geeignet, eine durchgehende laufende Nummerierung zu erzeugen.

    Das Sperren einer Tabelle hat doch eher den Hintergrund, im Mehrnutzerbetrieb eine mehrfache Verwendung der gleichen Nummer wegen der zeitgleichen Ermittllung (Zeit von Errechnung bis Speicherung) zu verhindern. Das ist offensichtlich ein anderes Thema, auch wenn beides eng zusammenhängen kann.

    Vielleicht wäre es zielführend, Aufgaben klar zu benennen und danach eine Diskussion zu führen.
     
  15. Hallo!

    Wo ist der Vorteil bei der Sperre im Vergleich zu einer PK-Schlüsselverletzung beim Speichern?

    Wenn ein Client den Datensatz sperrt, kann ein anderer nichts damit machen => es kommt zu einem Fehler, der abgefangen werden muss.
    Wenn ein Client und ein anderer (rein theoretisch) zur gleichen Zeit eine Anfüge-Abfrage mit em identischen PK-Wert abschicken erhält einer einen Fehler wegen Schlüsselverletzung => dieser Fehler muss abgefangen werden.

    Welchen Vorteil hat die Sperre der Tabelle? - Ich sehe da eher Nachteile, nämlich für jene User, die bereits vorhandene Datensätze ändern wollen.

    mfg
    Josef
     
    Josef P., 27. Juni 2015
    #30
Thema:

Eindeutige Satznummer generieren

Die Seite wird geladen...
  1. Eindeutige Satznummer generieren - Similar Threads - Eindeutige Satznummer generieren

  2. Eindeutig ohne einen bestimmten Wert auflisten

    in Microsoft Excel Hilfe
    Eindeutig ohne einen bestimmten Wert auflisten: Hallo, ich möchte gerne mit Eindeutig eine Liste erstellen aber ohne einen bestimmten Wert anbei die Excel, und ein screen: [ATTACH] es soll hier der Wert 4X1 nicht mit aufgeführt werden. danke...
  3. Eindeutig und 0 weg

    in Microsoft Excel Hilfe
    Eindeutig und 0 weg: Hallo, wenn ich den Befehl Eindeutig nutze kommt am Schluss immer eine 0, wie bekomme ich diese weg? siehe Tabelle Tabellenblatt "Klassen" Danke Gruß Stephan
  4. Eindeutige Namen - Bedingte Formatierung

    in Microsoft Excel Hilfe
    Eindeutige Namen - Bedingte Formatierung: Hallo zusammen, Es stellt sich folgendes Problem: Ich habe Maßnahmenpläne mit vielen verschiedenen Verantwortlichen, Meldern, etc. Ich möchte alle zellen einfärben in denen der Name "Grün"...
  5. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  6. Formel "Eindeutig()" in formatierter Tabelle

    in Microsoft Excel Hilfe
    Formel "Eindeutig()" in formatierter Tabelle: Guten Morgen zusammen, kann ich mit der Array-Formel "Eindeutig()" auch irgendwie einen als Tabelle formatierten Bereich füllen? Ich habe eine Liste mit Artikelnummern in einem unformatierten...
  7. Anzahl eindeutiger Werte mit mehreren Bedingungen

    in Microsoft Excel Hilfe
    Anzahl eindeutiger Werte mit mehreren Bedingungen: Hi zusammen Ich habe nur Formeln mit eindeutigen Werten und einer Bedingung gefunden. Nicht mal ChatGPT gibt mir die korrekte Antwort. Aufgabenstellung: Spalte A = Quartal Spalte B = Artikel...
  8. Formel bei Veränderung von dynamischem Array "mitziehen"?

    in Microsoft Excel Hilfe
    Formel bei Veränderung von dynamischem Array "mitziehen"?: Hallo liebes Forum, ich komme bei folgendem Problem nicht weiter und habe mir hier etwas Hilfe erhofft: Ich habe eine Tabelle mit Feedbacks zu Lehrgängen/Kursen. Diese will ich nach Dozent erst...
  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