FlowFact - Entwicklungstools

zurück

Sub - cmd_Obj_Mkm_Click
Merkmal setzen

Einem Objekt wird ein Merkmal hinzugefügt.
  Sub cmd_Obj_Mkm_Click()  
 




Public Sub cmd_Obj_Mkm_Click()
    Dim rsObj As ADODB.Recordset
    Dim rsMKM As ADODB.Recordset
    Dim strInput As String
    Dim strMkmDsn As String
    Dim strMkmName As String
    Dim strObjDsn As String
    Dim strMkmList As String
    Dim intCount As Integer
    Dim colMkmDsn As Collection
    Dim intInput As Long
    Dim blnDelete As Boolean

    '** Objekt mit der internen Bezeichnung 'TestHaus' suchen.
    Set rsObj = m_oFFDeveloper.OBJ_Find("Intern like 'TestHaus%'", "Angelegt DESC")
    If rsObj.EOF = True Then
        MsgBox "Kein 'TestHaus' gefunden. Bitte zuerst Objekt-Create ausführen."
        Exit Sub
    End If
    strObjDsn = rsObj("DSN")


    '** Merkmale
    Set rsMKM = m_oFFDeveloper.MKM_Find("OBJ=1", "Merkmal")
    If rsMKM.EOF = True Then
        MsgBox "Keine Objekt-Merkmale gefunden. Bitte überprüfen Sie Ihr System!"
        Exit Sub
    End If

    Set colMkmDsn = New Collection
    intCount = 1
    strMkmList = ""
    While rsMKM.EOF = False
        strMkmList = strMkmList & CStr(intCount) & ") " & m_oFFDeveloper.oUtil.k(rsMKM("Merkmal")) & vbCrLf
        intCount = intCount + 1
        colMkmDsn.Add m_oFFDeveloper.oUtil.k(rsMKM("DSN"))
        rsMKM.MoveNext
    Wend

    '** Merkmal-Eingabe
    strInput = InputBox("Wählen Sie eine Nummer aus. (Mit einem vorangestellten Minuszeichen wird das Merkmal entfernt)" & vbCrLf & strMkmList, "Objektmerkmal auswählen", "1")
    If Trim(strInput) = "" Then
        Exit Sub
    End If

    intInput = Val(strInput)
    If intInput < 0 Then
        blnDelete = True
        intInput = -intInput
    Else
        blnDelete = False
    End If

    If intInput > 0 And intInput <= colMkmDsn.Count Then
        strMkmDsn = colMkmDsn(intInput)
    Else
        MsgBox "Falsche Eingabe"
        Exit Sub
    End If


    If blnDelete = True Then
        '** Merkmal entfernen
        m_oFFDeveloper.OBJ_Merkmal_Del strObjDsn, strMkmDsn
    Else
        '** Merkmal setzen
        m_oFFDeveloper.OBJ_Merkmal_Add strObjDsn, strMkmDsn
    End If

    '** Objekt in FlowFact anzeigen
    m_oFFDeveloper.OBJ_ShowDSN strObjDsn
End Sub