Office: Zeitraumüberprüfung

Helfe beim Thema Zeitraumüberprüfung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, hab jetzt den ganzen tag herumprobiert, doch ich schaff es einfach nicht! Hab im Anhang mal die Ausgangsversion angehangen. Also... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Donner77, 6. September 2003.

  1. Zeitraumüberprüfung


    Hallo zusammen,

    hab jetzt den ganzen tag herumprobiert, doch ich schaff es einfach nicht! Hab im Anhang mal die Ausgangsversion angehangen.

    Also nachdem ich das Formular MitarbeiterÜbersicht aufgerufen habe, mir dort dann durch klick einen namen ausgewählt habe, und dann auf abwesenheit klicke komme ich zu dem formular um das es geht.

    Hier werden mir nun vorhandene abwesenheitszeiten angezeigt, ich kann diese löschen oder auch neue anlegen. um letzteres geht es, dank arne der sich sehr viel mühe gegeben hat ist es schon fast perfekt. das einzige problem nur noch ist, dass wenn eine neue abwesenheit angelegt wird, der zeitraum bzw tag überprüft werden soll ob an diesem tag schon eine abwesenheit vorliegt, wenn ja soll durch mitteilung an den user in form einer msgbox auf den fehler aufmerksam gemacht werden und der satz darf auf keinen fall gesichert werden.

    Hab jetzt den ganzen Tag herumversucht aber es einfach nicht hinbekommen.

    Hoffe ihr könnt mir helfen, vielen dank schonmal...

    :)
     
    Donner77, 6. September 2003
    #1
  2. Hi Donner

    und wenn du das nun auch noch wirklich anhängst, dann kann man deine Beschreibung auch nachvollziehen und vielleicht weiterhelfen ... *wink.gif*
     
  3. grad vergessen *Smilie *Smilie *Smilie man wird alt... also hier bitteschön:
     
    Donner77, 8. September 2003
    #3
  4. Zeitraumüberprüfung

    Lege im Modul des Abwesenheitsunterformulares folgende Funktion an (bitte Code kopieren, nicht abschreiben! *wink.gif*):
    Code:
    Anschliessend ändere das Ereignis "Vor Aktualisierung":
    Code:
     
    Arne Dieckmann, 8. September 2003
    #4
  5. also ersteinmal wieder vielen dank. bei arnes lösung kommt jetzt allerdings folgende fehlermeldung wenn ich einen neuen abwesenheitszeitraum eingetragen habe und ihn dann doch löschen möchte, hat jemand von euch eine lösung?
     
    Donner77, 8. September 2003
    #5
  6. Hi Donner77,
    könnte es sein, dass das Feld start2 keinen Wert enthält, wenn die Funktion aufgerufen wird?
    Dann könnte man vor ueberschneid = ControlZR() noch prüfen:
    If Not IsNull(start2) And start2"" Then ueberschneid = ControlZR()

    ???
     
  7. \@Matthias: Das könnte nicht nur so sein, das ist wohl auch so (anscheinend sind beide Datumsfelder leer - s. Fehlermeldung). *wink.gif*

    @Donner77: Sorry, war wohl wieder mal ein bisschen zu schnell gepostet - diese Vorgehensweise hatte ich nicht getestet. *frown.gif*


    Evtl. ist es so auch noch sicherer:

    Code:
     
    Arne Dieckmann, 8. September 2003
    #7
  8. Zeitraumüberprüfung

    ihr beiden, klappt prima. @arne brauchst dich nicht zu entschuldigen, hast ja wohl schon genug gemacht...

    recht herzlichen dank!!!@all

    Ach arne was dagegen wenn ich dich in meine icq liste setze?
     
    Donner77, 8. September 2003
    #8
  9. Du kannst mich gerne in Dein ICQ aufnehmen (bitte mit Hinweis auf das Forum). Ich werde Dich dann als ICQ-Kontakt akzeptieren, allerdings leiste ich "Support" nur hier im Forum.
     
    Arne Dieckmann, 8. September 2003
    #9
  10. werd das dann heut nachmittag mal in angriff nehmen :-)

    hab da noch eine frage zu meiner (besser eurer:-)) db.

    ich hätte gerne afu dem unterformular mitarbeiterübersichtuf ein label (kann man wenigstens grafisch gestalten) das sich dann ja logischerweise automatisch neben jeden einzelnen mitarbeiter setzt.

    durch klick auf dieses label soll der ma gelöscht werden sowie all die dazugehörigen abwesenheitseintragungen! Hatte da am wochenende mal herumgetrickst bin aber wie so oft kläglich gescheitert, den ma löscht er mir zwar jedoch nicht die dazugehörigen abwesenheitseinträge!

    schon mal wieder vieln dank für eure super hilfe!!!
     
  11. Wenn Du zwischen den Tabellen Beziehungen mit Löschweitergabe erstellst, sollten beim Löschen des Mitarbeiters (auf der "1"-Seite) alle Detaildatensätzen (auf der "n"-Seite) ebenfalls gelöscht werden.
    S. dazu Extras/Beziehungen
     
    Arne Dieckmann, 8. September 2003
    #11
  12. Arne, noch mal langsam für die Anfänger unter uns (also mich:-))
     
  13. Zeitraumüberprüfung

    Also noch einmal:

    Gehe im Datenbankfenster auf Extras/Beziehungen. Dort wählst Du zunächst die Tabellen "Mitarbeiter" und "Daten" aus. Anziehend erstellst Du mittels Ziehen der Maus eine Verbindung zwischen Mitarbeiter_ID (in Tabelle "Mitarbeiter") und ID (in Tabelle "Daten") eine Beziehung (s. 1).

    Anschliessend wird die Art der Beziehung eingestellt (s. 2 und 3).

    Wenn dann eine Fehlermeldung kommt (Beziehung kann nicht erstellt werden, dann musst Du in "Daten" die Datensätze entfernen, die keinem Mitarbeiter zugeordnet werden können). Am besten machst Du das vielleicht schon vorher ...

    Über "Ansicht/Tabelle anzeigen" (auch im Screenshot markiert) könnte man noch mehr Beziehungen aufbauen.
     
    Arne Dieckmann, 8. September 2003
    #13
  14. das habe ich, nur irgendwie habe ich mein code verhauen und der läuft nicht mehr, hab neben jedem datensatz ein button (alles im unterformular) auf dem sich folgender code befindet:

    Private Sub loeschen_Click()
    Dim db As DAO.Database

    If MsgBox("Soll die Auswahl mit all Ihren dazugehörigen Daten wirklich gelöscht werden?", vbYesNo + vbQuestion, "Löschen") = vbYes Then
    Set db = CurrentDb()
    db.Execute ("Delete * From Mitarbeiter Where Mitarbeiter_ID= " & Me.MitarbeiterÜbersichtUF!ID)
    Me.MitarbeiterÜbersichtUF.Form.Requery

    End If
    End Sub

    da kommt fehlermeldung über fehlermeldung, wie lösche ich den markierten datensatz? ich verzweifel echt, krieg auch agr nichts alleine hin, obwohl ich das schon mal hatte
     
  15. Warum machst Du denn die Umweg über die Abfrage? Kopiere doch einfach den Code zum Datensatz löschen aus dem Abwesenheitsunterformular ...

    Oder teste mal diesen Code (ohne DAO.Database ...) :
    Code:
    BTW: Es geht doch eigentlich um den Lösch-Button im Mitarbeiter-Übersichtsformular, oder?
     
    Arne Dieckmann, 8. September 2003
    #15
Thema:

Zeitraumüberprüfung

  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