Office: (Office 2013) Datensatz löschen

Helfe beim Thema Datensatz löschen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich benötige mal wieder Eure tolle Unterstützung. Und zwar hab ich im aktuellen Fall ein Formular mit Detailbereich (Endlosformular).... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schwaelbchen, 15. November 2016.

  1. Datensatz löschen


    Hallo zusammen,

    ich benötige mal wieder Eure tolle Unterstützung.
    Und zwar hab ich im aktuellen Fall ein Formular mit Detailbereich (Endlosformular).
    Die im Detailbereich angezeigten Ergebnis-Datensätze basieren auf einer Abfrage.

    Ich habe mir nun per Assistent einen "Lösch-Button" erstellt, der widerum beim Klicken das erstelle Makro ausführt.

    Leider erscheint beim Klick auf den Lösch-Button des gewünschten Datensatzes die Meldung: "Der Befehl oder die Aktion 'Datensatzlöschen' ist zurzeit nicht verfügbar".

    In der Datenblatt-Ansicht meiner Abfrage ist das Löschen des markierten Datensatzes leider auch nicht möglich.

    Bitte sagt mir, was hab ich falsch gemacht, bzw. vergessen einzustellen ?

    :)
     
    schwaelbchen, 15. November 2016
    #1
  2. Drei Dinge:
    1. ein Makro genommen statt VBA *mrcool
    2. eine Abfrage genommen mit Gruppierungen oder ähnlichem, die es nicht zulässt, den markierten Datensatz eindeutig zu erkennen
    3. das SQL-Statement der Abfrage hier nicht gepostet
    maike
     
  3. Hallo Maike,

    schön von Dir zu lesen. *Smilie

    1. Ich weiss, denn der Assistent erstellt Dank Office 2013 leider automatisch nur noch Makros. *frown.gif*
    2. Ja das vermute ich auch das hier "der Hund begraben liegt".
    3. siehe bitte wie folgt:

    Code:
     
    schwaelbchen, 17. November 2016
    #3
  4. Datensatz löschen

    Du willst vermutlich den Datensatz aus "Stammdaten" löschen?
    Dann mach das per VBA:
    Code:
    maike
     
  5. Ach Maike,

    Du bist wie immer DIE Beste ! *Smilie
    Die Lösung ist so simpel wie einfach. *grins

    ABER eine Sache hätte ich noch.
    Und zwar soll mir der Lösch-Button eigentlich NUR DANN angezeigt werden, wenn, das Feld aus [doppelte_Batches8]![SummevonEntnahmemenge] einen Wert größer/gleich 1 enthält.

    Soll heissen, das der Datensatz nur dann gelöscht werden darf, wenn es KEINE Entnahme gibt, es also KEINEN verknüpften Datensatz (in der Historien-Tabelle) gibt.

    Ich hoffe Du verstehst was ich meine.
     
    schwaelbchen, 17. November 2016
    #5
  6. Hab's doch selbst rausgefunden. *Smilie

    Code:
     
    schwaelbchen, 17. November 2016
    #6
  7. Muss mich leider korrigieren ... es wird auch ein Lösch-Button angezeigt, wenn keine verknüpften Datensätze vorhanden sind. *frown.gif*
     
    schwaelbchen, 17. November 2016
    #7
  8. Datensatz löschen

    Ich muss mich irgend im folgenden Code wohl noch irgendwie auf das in der Abfrage enthaltenen Wert von [ID2] beziehen, denn der enthält die eindeutige ID des Datensatzes in der Stammdatentabelle.
    Aber wie stelle ich das an ?

    Wenn ich richtig liege, wird beim jetztigen Zustand des Codes wohl nur der erste Datensatz berücksichtigt und das Ergebnis aus die Sichtbarkeit des Buttons angewendet. Denn in meinem Fall lasse ich mir in diesem Formular Datensätze anzeigen die identisch, also quasi doppelt sind.

    Code:
     
    schwaelbchen, 17. November 2016
    #8
  9. Hallo Jens,
    DLookup benötigt eine Bedingung; - im Prinzip das Gleiche wie eine WHERE-
    Klausel (s.OH).
    Also
    Code:
    gruss ekkehard
     
    Beaker s.a., 17. November 2016
    #9
  10. SErvus,
    ich würde statt Dlookup besser Dcount benutzen.
     
    Ohrkester, 17. November 2016
    #10
  11. In einem Endlosformular kannst du per VBA nicht die Sichtbarkeit des Buttons steuern, der ist entweder da (bei allen) oder nicht da (bei allen).

    Möglichkeit 1: Wo kommen überhaupt diese doppelten Einträge her? Wäre es nicht besser, die schon zu verhindern, bevor sie überhaupt in der Tabelle landen?

    Und wenn Möglichkeit 1 nicht geht (warum auch immer): Reicht es, nur die Datensätze anzuzeigen im Endlosform, die Menge > 1 haben und gelöscht werden können? Das lässt sich ja über ein Kriterium in der Abfrage lösen.

    Warum lässt du die doppelten Einträge überhaupt anzeigen? Gibt es welche, die nicht gelöscht werden sollen? Warum nicht alle einfach auf einen Rutsch löschen, wenn Möglichkeit 1 gar nicht geht?

    maike
     
  12. Guten Abend Maike,

    das hatte ich fast geahnt das das mit dem Lösch-Button JE Datensatz-Zeile nicht funktioniert. *frown.gif*

    Die doppelten Einträge können durch das Importieren in die DB gelangen. "Doppelt" kann bedeuten das dies RICHTIG, aber auch das es FALSCH ist. Man muss also manuell entscheiden ob 1 Datensatz wieder gelöscht werden muss, oder nicht, wenn der 2. tatsächlich eine Daseinsberechtigung hat.


    Ein meinem Fall werden von einem Produkt Proben gezogen und in kleinen Kartuschen abgefüllt, um ggf. zu einem späteren Zeitpunkt Prüfungen an diesem Vornehmen zu können.

    Für den Fall das also (aus irgendeinem Grund) tatsächlich zu verschiedenen Zeitpunkten 2 x 4 Kartuschen von der selben Batch gezogen, diese auch doppelt in meinem System. In diesem Fall muss ich, sofern zu Prüfungszwecken benötigt, die Entnahmen von Kartuschen Ein-Eindeutig zuordnen können.

    Und ist nun also tatsächlich (eine Batch) ein Datensatz doppelt in der Datenbank, soll eine von diesen natürlich gelöscht werden können, ABER NUR dann, wenn noch KEINE Entnahme erfolgt ist. ... Deswegen hatte ich eingangs die Idee, den Lösch-Button je nach Sachlage anzeigen, bzw, nicht anzeigen zu lassen, damit nicht versehentlich der falsche Datensatz gelöscht wird.




    Anbei mal meine Datenbank auf die wesentlichen Datensätze (2 Stück) Abfragen und Formulare reduziert.

    Bitte im sich öffnenden Formular (Formular1) in das Feld BATCH den Wert "F113EBQETF" eingeben und Enter drücken.
    Man wird nun darauf hingewiesen das diese Batch 2 mal vorhanden ist und wird gebeten durch einen DOPPELKLICK ein Auswahlformular zu öffnen.
    Ist dieses offen werden nun die 2 betreffenden Datensätze mit identischer BATCH aufgelistet.

    In der Spalte "Bestand" ist in meinem Test-Beispiel ein Datensatz mit "3" und einer mit "4" vorhanden. Dies beudeutet in diesem Fall das bei dem Datensatz 1 Entnahme erfolgt ist und genau aus diesem Grund der Lösch-Button für diesen Datensatz NICHT angezeigt werden soll.
    Beim anderen Datensatz hingegen soll Lösch-Button angezeigt werden, da keine Entnahmen (also verknüpfte Datensätze) vorhanden sind.



    Ich hoffe ich habe mal etwas Licht ins Dunkel der Nacht gebracht. *Smilie
     
    schwaelbchen, 17. November 2016
    #12
  13. Datensatz löschen

    Könnte man nicht die Lösch-Button doch einfach je Zeile anzeigen und beim Anklicken das Löschen cancelt und stattdessen eine MessageBox (lediglich mit einem OK-Button) anzeigen lassen die einen darauf hinweist, dass bereits eine Entnahme stattgefunden hat und der Datensatz daher nicht zu löschen ist ?

    Ein Datensatz bei dem es keinen verknüpften Datensatz durch eine Entnahme gibt, soll dann hingegen natürlich "einfach" gelöscht werden können.

    Wie müsste man die obige Bedingung dann noch in den folgenden Code integrieren ?

    Code:
     
    schwaelbchen, 17. November 2016
    #13
  14. Guten Morgen zusammen,

    also ich hab noch mal a bissl herumprobiert und bin zu dem nachfolgenden Code gekommen.
    Allerdings wird bei beiden mir angezeigten Buttons beim Drücken die MsgBox angezeigt, unabhängig davon ob bereits eine Entnahme vorgenommen wurde oder nicht.
    Vielleicht sollte ich noch erwähnen, dass in der Abfrage "doppelte_Batches8" NUR die IDs der Stamm-Datensätze enthalten sind, für die auch tatsächlich eine Entnahme vorgenomen wurde.


    Code:
     
    schwaelbchen, 17. November 2016
    #14
  15. Dann musst du eben da nachgucken, wo auch die drinstehen mit ohne Entnahme *mrcool .
    Code:
    Wobei dein Hinweis
    möglicherweise bedeutet, dass hier nicht auf "0" geprüft werden sollte?

    maike
     
Thema:

Datensatz löschen

Die Seite wird geladen...
  1. Datensatz löschen - Similar Threads - Datensatz löschen

  2. Datensatze löschen INKLUSIV Primärschlüssel

    in Microsoft Access Hilfe
    Datensatze löschen INKLUSIV Primärschlüssel: Hey Ihr Lieben, gibt es die Möglichkeit Datensätze inklusiv Primärschlüssel zu löschen? Hintergrund: Ich habe einige Testdaten eingetragen, möchte nun "reale" Daten eintragen und gerne bei...
  3. Datenbank Abfrage - einzelne Datensätze löschen

    in Microsoft Access Hilfe
    Datenbank Abfrage - einzelne Datensätze löschen: Hey ihr Lieben, ich habe eine Abfrage erstellt, die ich dann automatisiert in Excel habe. Nun ist es aber so, dass in dieser Abfrage 2-3 Datensätze enthalten sind, die sich mehr oder weniger...
  4. access Datensatz aus Formular löschen

    in Microsoft Access Hilfe
    access Datensatz aus Formular löschen: Guten Abend, komme jetzt nicht weiter. Ich möchte gern einen Datensatz im Unterformular (Reparaturen) löschen. Habe mal eine Befehlsschaltfläche erstellt. Anbei Muster mfg kurt k 370841
  5. Datensatz löschen 1:n-Beziehung

    in Microsoft Access Hilfe
    Datensatz löschen 1:n-Beziehung: Hallöchen! Bin mit meiner Musikdatendank kurz vor dem Ziel. Ein kleines Anliegen habe ich aber doch noch, Manchmal möchte ich nach reiflicher Überlegung doch einen Titel löschen. Grundsätzlich...
  6. Datensatz löschen, Summe aktualisieren

    in Microsoft Access Hilfe
    Datensatz löschen, Summe aktualisieren: Hallo zusammen Ich habe ein Formular (ist ein Unterformular eines Hauptformulars) und darin ein Unterformular. Das Unterformular (des Unterformulars) ist ein Datenblatt. Im Unterformular_1 gibt...
  7. Datensatz löschen über Formular

    in Microsoft Access Hilfe
    Datensatz löschen über Formular: Hallo, ich möchte über einen Button in einem Formular den Datensatz löschen, den ich vorher im Unterformular (Datenblattansicht) ausgewählt habe. Leider kommt da die Fehlermeldung: "Der Befehl...
  8. Löschen von doppelten Datensätzen mithilfe einer Abfrage

    in Microsoft Access Tutorials
    Löschen von doppelten Datensätzen mithilfe einer Abfrage: Löschen von doppelten Datensätzen mithilfe einer Abfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Mehr... Weniger...
  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