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 |