FlowFact - Entwicklungstools v19.881 FLOWFACT 2017 R2 - Function - Mkm_Switch

Merkmal tauschen

Ein Merkmal gegen ein anderes Merkmal austauschen Hinweis: Wenn 'strMkmDsnNew' leer ist wird 'strMkmDsnOld' gelöscht. Wenn 'strMkmDsnOld' leer ist wird 'strMkmDsnNew' hinzugefügt.
Function Mkm_Switch(ByVal strTable As String, ByVal strLinkDsn As String, ByVal strDSNOld As String, strDSNNew As String) As Boolean


strTable: Tabellenname der Haupttabelle
strLinkDsn: Datensatznummer der Haupttabelle z.B. AD, Obj ...
strMkmDsnOld: Die Datensatznummer (DSN) des Merkmals, das ersetzt werden soll
strMkmDsnNew: Die Datensatznummer (DSN) des Merkmals, das hinzugefügt werden soll
Rückgabewert: = True, wenn etwas geändert wurde; sonst = False


Public Function Mkm_Switch(ByVal strTable As String, ByVal strLinkDsn As String, ByVal strDSNOld As String, strDSNNew As String) As Boolean
    Dim rs As ADODB.Recordset
    Dim strSQL As String

    Mkm_Switch = False

    If strDSNOld = "" Then
        strSQL = "SELECT * FROM " & UCase(strTable) & "MKM WHERE (link_dsn=" & m_oUtil.SqlUid(strLinkDsn) & ") AND (mkm_dsn=" & m_oUtil.SqlUid(strDSNNew) & ")"
        Set rs = FF_GetRecordset(strSQL)
        If strDSNNew <> "" Then
            If rs.EOF = True Then
                rs.AddNew
                rs("DSN").value = m_oUtil.NewGUID()
                rs("Link_DSN").value = m_oUtil.SqlStrNull(strLinkDsn)
                rs("MKM_DSN").value = m_oUtil.SqlStrNull(strDSNNew)
                FF_UpdateRecordset rs
                Mkm_Switch = True
            End If
        End If
    Else
        strSQL = "SELECT * FROM " & UCase(strTable) & "MKM WHERE (link_dsn=" & m_oUtil.SqlUid(strLinkDsn) & ") AND (mkm_dsn=" & m_oUtil.SqlUid(strDSNOld) & ")"
        Set rs = FF_GetRecordset(strSQL)
        If strDSNNew = "" Then
            If rs.EOF = False Then
                rs.Delete adAffectCurrent
                FF_UpdateRecordset rs
                Mkm_Switch = True
            End If
        Else
            If rs.EOF = False Then
                rs("MKM_DSN").value = m_oUtil.SqlStrNull(strDSNNew)
                FF_UpdateRecordset rs
                Mkm_Switch = True
            End If
        End If
    End If

    Set rs = Nothing
End Function