Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Tally am August 21, 2018, 15:27:39

Titel: Feld ja/nein automatisch löschen
Beitrag von: Tally am August 21, 2018, 15:27:39
Hallo zusammen
Ich habe ein Endlosformular mit Namen Checkliste, wo verschiedene Punkte zum erledigen aufgeführt sind. Die Felder lauten:
Zähler (Autowert)     
To-Do (kurzer Text)       
erledigt (ja/nein)
erledigt am (Datum)
Das Formular hat eine Schaltfläche zum schliessen, wenn erst ein Teil der To-Do's erledigt wurden (für den Prozess ist erforderlich, immer alle To Do's abgeschlossen zu haben).
Ich möchte nun eine zweite Schaltfläche mit dem Titel "alles erledigt" definieren, welche beim klicken kontrolliert, ob alle Felder "erledigt" auf ja stehen. Wenn es noch Felder gibt, die auf Nein stehen, soll eine Meldung zurück gegeben werden "es sind noch nicht alle Aufgaben abgeschlossen und anschliessend zurück zum Formular.
Wenn alle Felder auf Ja stehen, sollen diese auf Nein gesetzt und alle Datensätze kopiert und angefügt werden, jedoch mit einem leeren Datum. Sollte etwa so ablaufen:

Kurslisten vollständig ausgefüllt       ja      15.03.2018
Alle Beiträge verbucht                     ja      17.03.2018
Alle Kurszertifikate verteilt               ja      20.03.2018

Nach Abwicklung sollte die Tabelle wie folgt aussehen:

Kurslisten vollständig ausgefüllt       ja      15.03.2018
Alle Beiträge verbucht                     ja      17.03.2018
Alle Kurszertifikate verteilt               ja      20.03.2018
Kurslisten vollständig ausgefüllt       nein
Alle Beiträge verbucht                     nein
Alle Kurszertifikate verteilt               nein

Hat mir Jemand eine passende Idee dazu?

Vielen Dank für die Unterstützung.
Gruss René
Titel: Re: Feld ja/nein automatisch löschen
Beitrag von: Beaker s.a. am August 21, 2018, 17:35:08
Hallo René,
ZitatWenn es noch Felder gibt, die auf Nein stehen, soll eine Meldung zurück gegeben werden "es sind noch nicht alle Aufgaben abgeschlossen und anschliessend zurück zum Formular.
Dazu brauchst du keinen zweiten Button. Das kannst du entweder beim
Ereignis "Form_BeforeUpdate" oder "Form_Unload" überprüfen
If Me.chkbox1 = False Or Me.chkbox2 = False Or Me.chkbox3 = False Then
    MsgBox "blabalbla"
    Cancel = True
Else
    'das Speichern eines neuen DS per Anfügeabfrage
    CurrentDb.Execute "INSERT INTO DeineTabelle (chk1, chk2, chk3) VALUES (False, False, False)", dbFailOnError
End If


gruss ekkehard

P.S. Wobei das Kopieren eines DS oft auf ein mangelhaftes Datenmodell
hinweist. Vielleicht zeigst du uns ein Bild des Beziehungsfensters.
Titel: Re: Feld ja/nein automatisch löschen
Beitrag von: MzKlMu am August 21, 2018, 17:45:04
Hallo,
das ist doch ähnlich zu Deinem anderen Thema:
http://www.access-o-mania.de/forum/index.php?topic=23477.msg137674#msg137674
Kannst Du das nicht anpassen ?

PS: Wenn es ein Erledigungsdatum gibt, ist das Hakenfeld "Erledigt" ersatzlos überflüssig. Das Datum reicht doch.
Datum eingetragen = erledigt, ohne Datum nicht erledigt.
Wenn Du unbedingt einen Haken willst, so kann man den als berechnetes Feld in einer Abfrage erzeugen. Beim Eintragen eines Datums wird automatisch der Haken gesetzt. Wird das Datum gelöscht, geht auch der Haken weg. Aber wie gesagt ist doppelt gemoppelt.
Titel: Re: Feld ja/nein automatisch löschen
Beitrag von: Lachtaube am August 21, 2018, 18:52:31
Als Anfügeabfrage, wobei der Check vor dem Ausführen derselbenIf DCount("*", "Tabname", "Datumsfeld Is Null") = 0 Thenstattfinden sollte.
Insert INTO Tabname (ToDo) -- Minuszeichen und das Ja/Nein-Feld habe ich entfernt
SELECT DISTINCT ToDo
FROM   Tabname;
Titel: Re: Feld ja/nein automatisch löschen
Beitrag von: Tally am August 21, 2018, 21:38:52
erstmal vielen Dank für die Antworten, brauche etwas Zeit um die durchzuarbeiten. Danke für den Hinweis bezüglich ja/nein; habe ich nicht daran gedacht, dass ich dieses, wenn ich das Datumfeld habe, gar nicht brauche, aber ist durchaus logisch. Werde also nur noch das Textfeld sowie das Datumfeld verwenden.
Zur Frage von Klaus: Die Frage weicht zur von Dir zitierten Anfrage insofern ab, als dass ich hier nicht eine im Voraus definierte Anzahl Datensätze kopieren und anfügen möchte (doch natürlich als Endlösung schon), aber nur dann, wenn eben alle Datumsfelder einen Wert haben, dies vor dem kopieren geprüft und nach (oder während dem kopieren) deren Inhalt (also die gesetzten Datumsangaben) wieder gelöscht wird.
Gruss René