Office: (Office 2007) Nur letzten Datensatz im Endlosformular aktivieren.

Helfe beim Thema Nur letzten Datensatz im Endlosformular aktivieren. in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Leute, normalerweiße findet man ja eigentlich alles über Access, aber leider hab ich dazu nichts gefunden. Und zwar habe ich ein Endlosformular... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von pad94, 5. Juli 2015.

  1. Nur letzten Datensatz im Endlosformular aktivieren.


    Hallo Leute,

    normalerweiße findet man ja eigentlich alles über Access, aber leider hab ich dazu nichts gefunden. Und zwar habe ich ein Endlosformular das sich die Daten aus einer Tabelle holt. Nun möchte ich via acNewRec einen Datensatz hinzufügen. Jedoch möchte ich lediglich diesen Datensatz aktivieren, das heißt die anderen Datensätze möchte ich Locked = True lassen, sodass man an diesen nichts editieren kann und nur diesen letzten Datensatz hinzufügen bzw. editieren kann.
    Das soll passieren sobald ich auf einen Button drücke "Datensatz hinzufügen".

    Lg Patrick
    Danke schonmal für die Hilfen *Smilie

    :)
     
    pad94, 5. Juli 2015
    #1
  2. Moin,
    müssen denn die anderen Datensätze sichtbar sein? Wenn nicht, dann stelle das Formular (Eigenschften/Daten) einfach auf "Daten eingeben: Ja", dann öffnet es sich automatisch immer nur mit einem neuen Datensatz.
    Ansonsten kannst du imho das Formular immer nur komplett sperren bzw. entsperren.
    maike
     
    maikek, 7. Juli 2015
    #2
  3. Moin Patrick, willkommen im Forum.

    Leg über den Detailbereich einen transparenten Button.
    Mit dem kannst Du das in der Klick Prozedur aktivieren.
    Ich bin jetzt aber nicht ganz sicher, ob Access dann nicht doch alle Datensätze enabled ...
    Ich würde es so machen, dass ich das Endlosformular generell auf ReadOnly lasse und beim Klick auf den transparenten Button diesen Datensatz zum Bearbeiten in einem extra PopUp (Einzel-)Formular öffne, welches auch nur diesen Satz anzeigt.
     
    hcscherzer, 7. Juli 2015
    #3
  4. Nur letzten Datensatz im Endlosformular aktivieren.

    Hallo!

    Mit "aktivieren" ist doch die Editierbarkeit gemeint, oder?
    Im Prinzip dürfen alle Datensätze editierbar sein, wenn gerade der aktuelle bearbeitet wird.
    Sobald der User den Datensatz wechselt, einfach alle Datensätze auf nicht änderbar stellen.
    => Auf das Current-Ereignis reagieren und Form.AllowEdits einstellen.

    mfg
    Josef
     
    Josef P., 7. Juli 2015
    #4
  5. Ja sie sollten sichtbar sein, weil es 7 verschiedene Testfelder sind in denen der Benutzer auch etwas rauskopieren kann, falls der Text zulang ist zum schreiben, oder dieser bereits in einem anderen Datensatz existiert.

    Ich würde gerne alles in einem Formular belassen, weil ich nicht unnötige Formulare einblenden möchte. Wie meinst du das mit dem transparenten Button das hab ich nicht ganz so verstanden?

    Sowas in der Art würde ich gerne realisieren. Wie reagiere ich auf das momentane Ereignis? Sobald ich ja einen neuen Datensatz anlege kann ich das ja enablen, jedoch möchte ich auch auf andere Datensätze mit der Maus zugreifen um diese eventuell zu markieren? Und dann kopieren und wieder zum letzten Datensatz zurück?
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    pad94, 7. Juli 2015
    #5
  6. Momentan hab ich es auch so das falls der Benutzer versehentlich in einem Datensatz etwas ändert, das mit Me.Dirty er abfragt ob er den Datensatz speichern will oder wieder in den Ursprungszustand versetzten will, jedoch war hier das Problem das wenn man jedesmal etwas rauskopiert hat und in das letzte neue Feld hinzufügen wollte, hat er die Meldung gebracht, das man den aktuellen Datensatz verlässt...
     
    pad94, 7. Juli 2015
    #6
  7. Wären zwei Endlosformulare untereinander eine Möglichkeit?
    Das eine sperrst du gegen Änderungen und Anfügen, kopieren sollte dann trotzdem noch möglich sein.
    Das andere setzt du wie vorgeschlagen auf Daten eingeben ja, so dass hier die neuen Sätze erfasst werden.
    maike
     
    maikek, 7. Juli 2015
    #7
  8. Nur letzten Datensatz im Endlosformular aktivieren.

    Das hatte ich mir auch schon überlegt, wäre wahrscheinlich die einfachste aber nicht idealste Lösung. Sollte es dennoch eine andere etwas kompliziertere Lösung geben wäre das ideal..., jedoch wenn es keine andere gibt, muss ich es wohl so machen.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    pad94, 7. Juli 2015
    #8
  9. Du musst irgendwie wissen, welcher Datensatz der "letzte" ist.
    Dabei ist zu überlegen, wie lange dieser letzte DS änderbar sein soll.
    * es ist immer der letzte DS änderbar
    * der letzte DS ist so lange änderbar, bis das Formular geschlossen wird
    * ...

    Mögliches Szenario:
    Wenn das Fomrular geöffnet wird, ist kein DS änderbar
    Es muss zuerst ein neuer (per Button-Click) erstellt werden.
    Dieser Datensatz ist so lange änderbar, bis der User das Formular schließt bzw. einen Bestätigungs-Button o. ä. klickt. Ab dann gilt die Regel wie beim Öffnen des Formulars, dass das Ändern nur in einem neuen DS möglich ist.

    Prinzip-Code (alles Luftcode!)
    im Formular-Codemodul:
    Code:
    mfg
    Josef
     
    Josef P., 7. Juli 2015
    #9
  10. Es gibt ja auch eine Datenmarkierung, heißt ich kann ja mithilfe eines Hilfspfeils auf der linken Seite den Datensatz markieren, ist es möglich diesen irgendwie auf den letzten Datensatz zu stellen und nur diesen Datensatz dann aktivieren und alle anderen sperren?
    Link: http://www.directupload.net/file/d/4...rqhut7_png.htm
     
    pad94, 7. Juli 2015
    #10
  11. mfg
    Josef

    Ich probiers so mal aus. Meine Endlosliste ist genau wie du sagst gesperrt bis jemand einen Datensatz hinzufügen möchte. Und dann nur der letzte aktivierbar, ansonsten keiner. Und Anschließend gibt es einen Button speichern, an dem alle Felder wieder gesperrt werden.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    pad94, 7. Juli 2015
    #11
  12. Ah okey perfekt. Habs (gelöst). Und zwar:
    AllowAdditions erlaubt es einen neuen Datensatz hinzufügen, jedoch an vorhanden Datensätzen kann nicht editiert werden.
    Möchte ich jetzt etwas editieren kann ich mit einem Extra Button diese Eigenschaft auch anschalten. Danke für die Hilfe^^

    Update: Zu früh gefreut. Ich kann jetzt zwar einen Datensatz damit hinzufügen, jedoch sobald ein Wert in einem der Felder drinsteht, speichert er mir den Datensatz. Verlasse ich nun das aktuelle Feld und gehe in den DAtensatz der drüber steht und versuche etwas zu kopieren und unten einzufügen klappt das nichtmehr. Irgendwelche Vorschläge?
     
    pad94, 7. Juli 2015
    #12
  13. Nur letzten Datensatz im Endlosformular aktivieren.

    Du hattest ja ein Beispiel für die Funktion AllowEdits mit einer Id? Die Funktion hat doch nur die Parameter True und False also kann ich ja nach keiner Id abfragen?
     
    pad94, 7. Juli 2015
    #13
  14. Code:
    Der blau markierte Teil ergibt als Ausdruck true, wenn die Bedingung (ID = gespeicherte ID) zutrifft und false, wenn nicht.
    maike
     
    maikek, 7. Juli 2015
    #14
  15. Das Ereignis AfterInsert wird ausgelöst, wenn der neue DS gespeichert wurde.
    Reagiert man auf diese Ereignis kann die ID des "neuen" Datensatzes gespeichert und bei jedem Datensatzwechseln (Current-Ereignis) genutzt werden.

    Hast du schon versucht, den Code aus #11 an dein Formular anzupassen?

    mfg
    Josef
     
    Josef P., 7. Juli 2015
    #15
Thema:

Nur letzten Datensatz im Endlosformular aktivieren.

Die Seite wird geladen...
  1. Nur letzten Datensatz im Endlosformular aktivieren. - Similar Threads - Datensatz Endlosformular aktivieren

  2. Im Endlosformular aktiven Datensatz hervorheben

    in Microsoft Access Hilfe
    Im Endlosformular aktiven Datensatz hervorheben: Hallo liebe Mitglieder. Eigentlich benötige ich was ganz einfaches... Ich lasse mir meine Datensätze (Filme) in einem Endlosformular anzeigen. Jeder Datensatz hat diverse Buttons. Klicke ich auf...
  3. In Endlosformular zu Datensatz springen un markieren

    in Microsoft Access Hilfe
    In Endlosformular zu Datensatz springen un markieren: Wer weiss Rat? In einem Endlosformular werden die Datensätze angezeigt (nicht alle Angaben). Bei jedem Datensatz hat es die Befehlsschaltfläche »Daten bearbeiten«. Es öffnet sich ein...
  4. Endlosformular mit Abfrage-neue Datensätze

    in Microsoft Access Hilfe
    Endlosformular mit Abfrage-neue Datensätze: Hallo ich erarbeite im Moment im Rahmen eines Projektes eine Datenbank zur Bestellerstellung. Nun habe ich für die Bestellpositionen ein Endlosformular. Erstellt. Als Basis für diese habe ich...
  5. Werte aus Endlosformular je Datensatz in Tabelle ergänzen

    in Microsoft Access Hilfe
    Werte aus Endlosformular je Datensatz in Tabelle ergänzen: Guten Abend zusammen, ich habe ein Endlosformular das auf einer Tabelle (tbl_Leistung) basiert. Die im unteren Teil angezeigten roten Angaben sollen bei Auswahl des JA/Nein-Kästchens "Fertig" in...
  6. Endlosformular: Buttons nur für aktuellen Datensatz sichtbar

    in Microsoft Access Hilfe
    Endlosformular: Buttons nur für aktuellen Datensatz sichtbar: Hallo, in meinem Endlosformular habe ich einige Buttons für Anzeigen, Löschen etc. hinterlegt. Das ergibt eine ganz lange Reihe von Buttons für die angezeigten Datensätze. Eine weitaus schönere...
  7. Schleife durch alle Datensätze im Endlosformular

    in Microsoft Access Hilfe
    Schleife durch alle Datensätze im Endlosformular: Hallo, ich habe ein Formular mit Datensätzen (ca 7 Felder) Jetzt will ich per vba durch alle datensätze gehen und dann jedesmal ein feld auslesen. vorerst nur mal im direktfenster. ABER, es...
  8. Neuen Datensatz in Endlosformular anlegen via Button

    in Microsoft Access Hilfe
    Neuen Datensatz in Endlosformular anlegen via Button: Halli hallo mein Name ist mal wieder Programm*wink.gif* , und zwar: Ich habe ein Formular das direkt auf einer Tabelle basiert und die Daten als Endlosformular anzeigt: Eigenschaften:...
  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