FlowFact - Entwicklungstools

zurück

Function - PROJEKTE_GetRootProjekteDsn
Hauptprojekt im Projektbaum

Diese Funktion wendet 'PROJEKTE_GetParentAdDsn' solange an, bis kein übergeordnetes Projekt vorhanden ist. Ein Hauptprojekt ist somit jedes Projekt ohne ein übergeordnetes Projekt.
Hinweis: Bei zyklisch Verknüpften Datensätzen wird ein Fehler ausgegeben.
  Function PROJEKTE_GetRootProjekteDsn(ByVal strProjekteDsn As String) As String  
 


strProjekteDsn: Datensatznummer des untergeordneten Projekts
Rückgabewert: Datensatznummer (DSN) des Hauptprojekts oder 'LEER'


Public Function PROJEKTE_GetRootProjekteDsn(ByVal strProjekteDsn As String) As String
    Dim strDsnParent As String
    Dim strDsnCur As String
    Dim strMsg As String
    Dim strDsnList As String

    strDsnCur = strProjekteDsn
    strDsnParent = strDsnCur
    While strDsnParent <> ""
        strDsnParent = PROJEKTE_GetParentProjekteDsn(strDsnCur)
        If strDsnParent <> "" Then
            If InStr(strDsnList, "|" & strDsnParent & "|") > 0 Then
                strMsg = "Zyklische Verknüpfung zwischen Projekt '§1§' und '§2§'"
                strMsg = Replace(strMsg, "§1§", oBase.Sql_GetKennung("PROJEKTE", strDsnCur, False))
                strMsg = Replace(strMsg, "§2§", oBase.Sql_GetKennung("PROJEKTE", strDsnParent, False))
                Err.Raise 601, "PROJEKTE_GetRootProjekteDsn", strMsg
            End If
            strDsnList = strDsnList & strDsnParent & "|"

            strDsnCur = strDsnParent
        End If
    Wend
    PROJEKTE_GetRootProjekteDsn = strDsnCur
End Function