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 |