0

Verknüpfung zweier Datenbanken (Dateien) über Programmierung verknüpfen

Hallo Forum, 

ich habe eine separate Datei Urlaubslisten-Tabelle, welche monatlich eingelesen wir per CSV-Datei. 

Nun möchte ich beim einlesen oder nachher in einer Massenbearbeitung den Urlaubsdatensatz mit dem Mitarbeiter der Mitarbeitertabelle automatisiert verknüpfen.

Die Urlaubdatei hat als eindeutige Kennung das Feld "Mitarbeiternummer" in der Mitarbeiterdatei ist das Feld als PersNr definiert.

Mein Problem ist, diese Verknüpfung der beiden Datenbanken als Script einzutragen, so dass in der Urlaubstabelle die Verknüpfung des Mitarbeiters eingetragen ist. 

 

Danke vorab für die Hilfe 

3 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 20 Stunden
    • Gemeldet - anzeigen

    Hi  ,

    versuche es mal hiermit:

    do as server
    for _data in select URLAUBSTABELLE where VERKNÜPFUNG_ZUM_MITARBEITER = null do
       let MA := first(select MITARBEITERTABELLE where PersNr = _data.Mitarbeiternummer);
       if MA then _data.VERKNÜPFUNG_ZUM_MITARBEITER := MA
    end;
    end;
    end

    Ich habe versucht aus deiner Beschreibung die Namen zuzordnen, ersetzte ggf. die groß geschriebenen Tabellen oder Feldnamen mit deinen verwendetetn Namen.

    Verwende das Skript in einem Button.

    Was das Skript macht, hier kurz erklärt:
    Das Skript verknüpft nachträglich alle Urlaubseinträge ohne bestehende Verknüpfung mit dem entsprechenden Mitarbeiter anhand der Personalnummer.

    1. Das Skript durchläuft alle Datensätze der URLAUBSTABELLE, bei denen das Feld VERKNÜPFUNG_ZUM_MITARBEITER noch leer ist.
    2. Für jeden dieser Datensätze sucht es in der MITARBEITERTABELLE nach einem Mitarbeiter, dessen PersNr mit der Mitarbeiternummer des Urlaubseintrags übereinstimmt.
    3. Wird ein passender Mitarbeiter gefunden, trägt das Skript dessen Datensatz-ID (number(i.Nr)) in das Verknüpfungsfeld VERKNÜPFUNG_ZUM_MITARBEITER ein.
       

    VG Ronald

      • Krautt_Hartmut
      • vor 10 Stunden
      • Gemeldet - anzeigen

       

      Bestens, Danke. 

      Nun konnte damit auch über die Massenbearbeitung die Felder befüllen. Einfacher als gedacht:

      1. Urlaubstabelle öffnen
      2. Massenbearbeitung in der Urlaubstabelle auswählen
      3. auf die Variable gehen, die auf die Mitarbeitertabelle zeigt
      4. "Berechneten Wert" auswählen und dort als Formel angeben:

      Let Hilfsfeld := Mitarbeiternummer;

      first((select Mitarbeiter where PersNr = Hilfsfeld')

      Das ganze dann noch ausführen. Der Eintrag wird dann automatisch gespeichert. 

      Dankeschön

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 20 Stunden
    • Gemeldet - anzeigen

Content aside

  • vor 10 StundenZuletzt aktiv
  • 3Antworten
  • 21Ansichten
  • 2 Folge bereits