Office: (Office 2003) Logik für Datenerfassung / Gültigkeitsprüfung

Helfe beim Thema Logik für Datenerfassung / Gültigkeitsprüfung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Ich mache gerade meine ersten Gehversuche in Access. Daher weiss ich auch nicht wie ich nach meiner Fragestellung hier am besten suchen sollte... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von santo, 24. Dezember 2010.

  1. Logik für Datenerfassung / Gültigkeitsprüfung


    Hallo

    Ich mache gerade meine ersten Gehversuche in Access. Daher weiss ich auch nicht wie ich nach meiner Fragestellung hier am besten suchen sollte noch ob mein gewählter Titel auf die richtige Spur führt:

    Ausgangslage:
    Ich habe eine Datenbank mit der Tabelle Mitarbeiter. Diese können via Formular erfasst werden. Anschliessend können pro Mitarbeiter beliebig Ein-/-Austritte via Formular erfasst werden. Dazu habe ich zwei weitere Tabellen:
    Eine Tabelle "Mutationsart" in welcher vorerst nur 1= Eintritt, 2= Austritt steht. (könnte mir vorstellen, hier auch künftig die Arten "Mutterschaftsurlaub Start, Mutterschaftsurlaub Ende, Bankverbindung, etc. stehen zu haben) und eine Tabelle "Mutationen" in welche ich die Daten (Datum der Mutationsart, Änderungsdatum,... ) schreibe. Verlinkt sind die Tabellen Mitarbeiter mit der Tabelle Mutationen über die PersNr., die Tabelle Mutationen mit der Tabelle Mutationsart über die Mutationsart-Nr..

    Fragestellung:
    Ich möchte regeln, dass
    • kein Austritt erfasst werden kann falls nicht ein gültiger Eintritt vorhanden ist.
    • das Datum des Austritts grösser ist als das letzte Datum des Eintritts
    • das Wiedereintrittsdatum (falls ein Mitarbeiter zurück kommt) grösser ist als das letzte Austrittsdatum
    • und dass kein Wiedereintritt erfasst werden kann, falls kein gültiger Austritt erfasst ist.

    Wie müsste ich meine Daten- / Tabellenstrucktur aufbauen, dass die oben erwähnten Prüfungen möglichen werden und wie würden solche Plausibilitäts-Checks programmiert?

    Vielen Dank für Eure Hilfe.
    Gruss
    Santo

    :)
     
  2. Hallo santos,

    Solche Gültigkeitsregeln kann man auf Tabellenebene oder im Erfassungsformular festlegen.
    Zweckmäßig ist die Festlegung auf Formularebene; für die ersten 3 Bedingungen sollte folgendes funktionieren:


    Code:
     
  3. Hallo tramp

    Vielen Dank für die Info. Ich habe mein Formular vermutlich nicht so aufgebaut, dass ich dein Coding verwenden kann. Ich habe in das Formular ein Unterformular eingebaut, dass ich in der Datenblattansicht anzeige.

    Ich habe die DB angehängt. Schau dir mal Formular F003 an (was mir hier nicht gelingt, ist dass die Datensätze nach der Mutationsnummer sortiert werden, das wäre aber wohl wichtig, für das weitere Vorgehen).

    Hast du zu meinem Aufbau einen Lösungsvorschalg?

    Gruss & Dank
    Santo
     
  4. Logik für Datenerfassung / Gültigkeitsprüfung

    Plausi-Prüfung auf Tabellenebene ist in Access hier nicht möglich (vielleicht in Acc2010, ich habe gelesen, da gibt's so eine Art Trigger).
    Ich würde den Tabellenaufbau überdenken. Die Ereignisse, die Du erfassen willst, treten immer paarweise auf. Mutterschaft hat immer einen Anfang und ein Ende, auf den Eintritt folgt immer ein Austritt (und sei es mit dem Tode in 30 Jahren).
    Wenn Du also die Ereignisse in einer Tabelle speicherst, brauchst Du nicht zwischen Anfang und Ende zu unterscheiden. Das vereinfacht die Abfrage sehr. Das Ereignispaar "Eintritt/Austritt" ist abgeschlossen, wenn es 2 Daten gibt. Jeder der eine gerade Anzahl von Einträgen mit diesem Ereignis hat, muß ausgetreten sein. Jeder neue Eintrag muß in späteres Datum als der vorige Eintrag dieses Paars haben.
     
    achtelpetit, 26. Dezember 2010
    #4
  5. Hallo Santo,

    ich würde nur ein Formular benutzen, indem du neue Personen eingeben kannst, zugleich die Mutationen (was auch immer das sein mag?) erfassen kannst bzw auch gleich nach einer Person suchen kannst.

    Schau mal im Beispiel nach Formulat frmPersonal


    Gruß Peter
     
  6. Hallo,

    @achtelpetit:

    zumindest eine Forderung kann auf Tabellenebene festgelegt werden; In Tabelleneigenschaften u. Gültigkeitsregel:

    [DatumAustritt]>=[DatumEintritt] Oder [DatumAustritt] Ist Null

    Gruß Peter
     
  7. Hallo Santo,

    probiere mal, ob so deine Bedingungen mit der Anlage erfüllt sind.

    Gruß Peter
     
  8. Logik für Datenerfassung / Gültigkeitsprüfung

    Überleg' mal, was in einer Tabelle passiert, in der die Daten vieler Mitarbeiter gespeichert werden.
     
    achtelpetit, 26. Dezember 2010
    #8
  9. Hallo
    hier ist auche ein Bspl.
    http://cid-0838611f737bd3d9.office.l...erSort2003.zip
    öffne das zip und danach die MDB
    und jetzt das Formular FrmKundenListe03
    jetzt mit Doppelklick auf auf Datensatzmarker des gwünschten Name
    öffnen zum Mutieren
    oder
    unten links in der Fus Zeile Mutieren / Neu / Löschen

    Das Bspl. von Peter ist ja auch GUT habe ich jetzt gesehen
     
    Lanz Rudolf, 26. Dezember 2010
    #9
  10. Hallo achtelpetit bzw. Hallo Thomas

    Gute Idee. Wenn ich dich richtig verstanden habe, schlägst du vor, dass ich statt der beiden Ereignisse Spalte "Eintritt" und "Austritt" nur noch das Ergeignisparr "Eintritt/Austritt" verwende..

    Allerdings, wie würde ich dann die Plausiprüfung vornehmen? Könntest du mir nciht ein konkreteres Beispiel liefern, bitte?

    Gruss & Dank
    Santo
     
  11. Hallo Tramp

    Vielen Dank für deine Mithilfe und deine Bemühungen. Leider kann ich deine Dateien nicht öffnen. Habe alles versucht. Siehe die Fehlermeldung als PrintScreen im WordDok. Wie kann ich die Datei doch noch öffnen?

    Gruss & vielen Dank
    Santo
     
  12. Hallo,

    @achtelpetit

    Die Bedingung würde ja nicht in die Tabelle der Mitarbeiter gespeichert, sondern in eine Tabelle der Bewegungen der Mitarbeiter. Und wenn man dort

    [DatumAustritt]>=[DatumEintritt] Oder [DatumAustritt] Ist Null

    als Gültigkeitsregel angibt, so ist eben gesichert, dass für keinen Mitarbeiter in der Bewegungstabelle das Austrittsdatum kleiner als das Eintrittsdatum ist.

    Gruß Peter
     
  13. Logik für Datenerfassung / Gültigkeitsprüfung

    Hallo Santo,

    als Anlage nochmals die DB, Hoffe es klappt nun.

    Gruß Peter
     
  14. Hallo Peter

    Ja, jetzt konnte ich die Datei öffnen.
    Ich habe gesehen, dass du zwei Ereignisprozeduren eingeben hast.
    Leider funktionieren die Checks nicht wie von mir erhofft.
    Was ich nicht verstehe ist, wieso du auf das Änderungsdatum abfragst? Könnte doch auch sein, dass ich es verpasst habe, und den Austritt später eingebe (natürlich müsste ich dann, falls bereits Lohn ausbezahlt wurde, diesen zurückfordern).

    Gruss
    Thomas
     
  15. Hallo zusammen

    Ich hab jetzt mal die Ideen von Thomas und Peter zusammengepackt. (Siehe Anhang).

    Jetzt habe ich noch die beiden Felder "Start" und "Ende" in der Tabelle so gesetzt, dass eine Eingabe zwingend ist.

    Jetzt müsste ich nur noch wissen, wie ich zusätzlich zur Fehlermeldung, den Wert der Eingabe, (Das falsche Datum also) löschen kann und wie ich es anstellen muss, dass der Befehl set.focus auch wirklich funktioniert und das auf das entsprechende Feld (Start oder Ende) des aktuellen Datensatzes gesprungen wird.

    Grusss & Vielen Dank für euere Hilfe
    Santo
     
Thema:

Logik für Datenerfassung / Gültigkeitsprüfung

Die Seite wird geladen...
  1. Logik für Datenerfassung / Gültigkeitsprüfung - Similar Threads - Logik Datenerfassung Gültigkeitsprüfung

  2. Datensatz abfragen und Daten ergänzen

    in Microsoft Access Hilfe
    Datensatz abfragen und Daten ergänzen: Hallo, ich habe leider keine Ahnung mehr von Access. Habe es zwar vor 10 Jahren gelernt, doch leider ist mein wissen weg. Ich habe folgendes Problem : Ich würde gerne eine Auftragsverwaltung...
  3. Daten Transformieren nach Wenn-Dann Logik

    in Microsoft Excel Hilfe
    Daten Transformieren nach Wenn-Dann Logik: Liebes Forum, ich habe eine Frage, bei der ich sehr dankbar wäre, wenn mir jemand von euch weiterhelfen könnte. Und zwar habe ich einen Datensatz der Zeitintervalle enthält, die folgendermaßen...
  4. Logik eines Befehls letzte Zeile

    in Microsoft Excel Hilfe
    Logik eines Befehls letzte Zeile: Code: Dim i As Long, weg As Boolean Dim lngLetzte As Long lngLetzte = ActiveSheet.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Hallo zusammen oben ist eine...
  5. Datenerfassung aufgrund vorheriger Angaben

    in Microsoft Access Hilfe
    Datenerfassung aufgrund vorheriger Angaben: Hallo zusammen! Ich will eine Produktdatenbank erstellen und möchte aufgrund der ersten Angabe eine Weiterleitung zu den entsprechenden passenden Punkten haben. So, sieht es als Beispiel genauer...
  6. Datenreihen mit Logik kopieren

    in Microsoft Excel Hilfe
    Datenreihen mit Logik kopieren: Hallo Office Team, ich habe folgendes Problem: Ich habe in den A1-A5 einen SVerweis eingesetzt. Dieser sucht in allen 5 Zellen den Wert A1 aus Reiter B. Wenn ich die Zellen A1-A5 markiere...
  7. Gültigkeit, erste Stelle fix, ab zweiter Stelle frei

    in Microsoft Excel Hilfe
    Gültigkeit, erste Stelle fix, ab zweiter Stelle frei: Hallo zusammen, in einer Excel-Tabelle sollen in bestimmten Zellen lediglich folgende Eingaben möglich sein: A;B;P;U Das ist soweit auch über die Gültigkeitsregeln kein Problem. Nun soll...
  8. Mehrere Zellen nach bestimmten Kategorien sortieren?

    in Microsoft Excel Hilfe
    Mehrere Zellen nach bestimmten Kategorien sortieren?: Hi ihr! In der Arbeit verwenden wir Excel 2000. Folgendes: Angenommen ich habe 3 verschiedene Spalten mit mehreren Zeilen. Spalte 1: "Kategorie" (z. B. Kneipe, Pizzeria) Spalte 2: "Bezeichnung"...
  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