Access-o-Mania

Datenbanken (Deutsch/German) => MS SQL-Server => Thema gestartet von: ellinho am März 01, 2012, 12:51:01

Titel: Personalnummer automatisch vergeben
Beitrag von: ellinho am März 01, 2012, 12:51:01
Hallo zusammen.
Schon stellen sich meine nächsten zwei Probleme. In diesem Thread schildere ich mal das erste :
Ich hatte in der "alten" Access-Anwendung ein Formular "Mitarbeiter" in dem die Stammdaten geändert werden konnten. Desweiteren befand sich eine Schaltfläche "Datensatz duplizieren" in diesem Formular, mit dem mal schnell ein Mitarbeiter angelegt werden konnte. Hintergrund : Es gibt unterschiedliche Nummernkreise für 400-EURO-Kräfte und Gehaltsempfänger...wenn sich ein Mitarbeiter dazu entscheidet, vom Gehalt nach 400-EURO zu wechseln, sind ja eigentlich bereits alle Felder ausgefüllt...nur die Personalnummer ist aus einem falschen Nummernkreis. Somit lege ich den Mitarbeiter als Duplikat mit einer anderen Personalnummer an und setze den alten Datensatz auf "inaktiv". Es wurde händisch eine neue Personalnummer vergeben. Erste Frage : Ist es möglich, automatisch die erste, noch freie, Personalnummer aus einem auswählbaren "Nummernkreis" vergeben zu lassen ? Zweite Frage : Momentan ist das Duplizieren nur für den ersten Datensatz möglich. Wähle ich aus dem Kombifeld einen anderen Datensatz aus, bekomme ich eine Primary-Key-Verletzung.

Hier mal der jetzige Code :

Private Sub Befehl62_Click()
On Error GoTo Err_Befehl62_Click
Dim Msg As String
   Msg = "Bitte denken Sie unbedingt daran," & vbCr & "für das Duplikat eine neue Personalnummer zu vergeben" & vbCr & "und die duplizierte Personalnummer als inaktiv zu kennzeichnen !!!"
   MsgBox Msg, vbExclamation Or vbOKOnly, "ACHTUNG BEIM DUPLIZIEREN !!!"

   DoCmd.RunCommand acCmdSelectRecord
   DoCmd.RunCommand acCmdCopy
   DoCmd.RunCommand acCmdRecordsGoToNew
   DoCmd.RunCommand acCmdSelectRecord
   DoCmd.RunCommand acCmdPaste

   
Exit_Befehl62_Click:
   Exit Sub

Err_Befehl62_Click:
   MsgBox Err.Description
   Resume Exit_Befehl62_Click
   
End Sub


Gruß
Karsten
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: oma am März 01, 2012, 13:59:57
Hallo,

ZitatSomit lege ich den Mitarbeiter als Duplikat mit einer anderen Personalnummer an und setze den alten Datensatz auf "inaktiv".

das ist eigentlich nicht nachvollziebar, warum soll ein neuer Datensatz angelegt werden, wenn sich ein Feld ändert??

Du kannst doch dem Mitarbeiter ein Statusfeld geben, in dem der aktuelle Stuatus festgehalten wird . Evt. kann bei häufigen Wechsel dieser sogar mit einer n- Tabelle zusätzlch auch mit Datum historisiert.

Gruß Oma

und dann noch:

Zitat"Bitte denken Sie unbedingt daran," & vbCr & "für das Duplikat eine neue Personalnummer zu vergeben" & vbCr & "und die duplizierte Personalnummer als inaktiv zu kennzeichnen !!!"


und wenn er es doch vergisst!, solche Fehlerquellen überlässt man nicht den Benutzer!!!!!
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: ellinho am März 01, 2012, 15:12:11
Ich sehe es ein. Ist wirklich Blödsinn.
Wir werden es in Zukunft so machen, dass einfach die Personalnummer durch eine aus einem anderen Nummernkreis ersetzt wird.
Setze das Thema hiermit als gelöst.
Danke.
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: oma am März 01, 2012, 15:28:26
Hallo,

ZitatWir werden es in Zukunft so machen, dass einfach die Personalnummer durch eine aus einem anderen Nummernkreis ersetzt wird
.

und warum dieses??  Eine Personalnummer ist doch normalerweise eine eindeutige ID, warum sollte sich diese ändern. Das hat dann auch Konsequenzen für etwaige Verknüpfungen in der DB!
Aus einem zusätzlichen Statusfeld kann man doch einfach erkennen (und auch danach selektieren) ob Person Gehaltsempfänger oder sonstwas ist!!

Gruß Oma
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: ellinho am März 01, 2012, 15:53:00
Hallo.
Denke gerade auch in die Richtung, es über ein zusätzliches Statusfeld zu regeln.
Danke.

Gruß
Karsten
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: MzKlMu am März 01, 2012, 18:50:41
Hallo,
auch ich halte es für absolut falsch eine Personalnummer vom Status abhängig zu machen. Eine Personalnummer bleibt im Regelfall während der ganzen Betriebszugehörigkeit eindeutig und sollte sich nicht ändern. Für den Status sollte man eine extra Tabelle anlegen mit der Historie des Status eines Mitarbeiters.
Es ergibt sich so auch ein Werdegang, z.B. so:

400 Euro Job
Vollzeitarbeiter
Vorarbeiter
Angestellter Tarifbereich
Angestellter Außertariflich

Jeweils mit Datum.

Ich war 50 Jahre in einer Firma und bin jetzt in Rente. Und habe bei Rückfragen immer noch meine erste Personalnummer von 1959!!! die ich auch immer noch benötige. Es war eine große Firma, ohne diese Nummer ist auch heute noch keine Rückfrage/Nachfrage möglich.

Nur mal so als Ergänzung/Hinweis.
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: oma am März 01, 2012, 20:27:06
Hallo,

ZitatIch war 50 Jahre in einer Firma...

he, Donnerwetter, so etwas ist heute wohl nicht mehr möglich.
Aber dementsprechend fett wird wohl auch deine Rent sein ;D

Gruß Oma
Titel: Re: Personalnummer automatisch vergeben
Beitrag von: MzKlMu am März 01, 2012, 20:38:13
Hallo,
ZitatAber dementsprechend fett wird wohl auch deine Rent sein
ich vegetiere knapp über der Armutsgrenze.
Hast Du noch nichts von der Altersarmut gehört?  ;D ;D