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

Detailwert löschen

Function Det_Delete(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String) As Boolean


strTable: Tabellenname der Haupttabelle
strTableDsn: Datensatznummer der Haupttabelle z.B. AD, Obj ...
strFldArtDsn: Die Datensatznummer (DSN) der FeldArt
Rückgabewert: = True, wenn der Detailwert gelöscht werden konnte; sonst = False


Public Function Det_Delete(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String) As Boolean
    Dim bResult As Boolean
    Dim rs As ADODB.Recordset
    Dim strSQL As String
    Dim strTblDet As String

    bResult = False

    strTblDet = UCase(strTable) & "DET"
    If strFldArtDsn <> "" And strTable <> "" And strTableDsn <> "" Then
        'Immer über Haupttabelle auf Det-Tabelle zugreifen, wg. Berechtigung
        strSQL = "SELECT " & strTblDet & ".* " & _
                  "FROM " & strTable & " INNER JOIN " & strTblDet & " ON " & strTable & ".dsn = " & strTblDet & "." & strTable & "_dsn " & _
                  "WHERE (" & strTable & ".DSN=" & m_oUtil.SqlUid(strTableDsn) & ") AND (" & strTblDet & ".FLDART_DSN=" & m_oUtil.SqlUid(strFldArtDsn) & ") " & _
                  "ORDER BY " & strTblDet & ".DSN"
        Set rs = FF_GetRecordset(strSQL)
        While rs.EOF = False
            rs.Delete
            bResult = True
            rs.MoveNext
        Wend

        If bResult = True Then
            FF_UpdateRecordset rs
        End If

        Set rs = Nothing
    End If
    Det_Delete = bResult
End Function