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

Detailwerte kopieren

Function Det_Copy(ByVal strTable As String, ByVal strSourceDsn As String, ByVal strDestDsn As String) As Long


strTable: Tabellenname der Haupttabelle
strSourceDsn: Quell-Datensatznummer der Haupttabelle z.B. AD, Obj ...
strDestDsn: Ziel-Datensatznummer der Haupttabelle z.B. AD, Obj ...
Rückgabewert: Anzahl der kopierten Datensätze


Public Function Det_Copy(ByVal strTable As String, ByVal strSourceDsn As String, ByVal strDestDsn As String) As Long
    Dim lngResult As Long
    Dim strSqlBase As String
    Dim strSQL As String
    Dim rsDet As ADODB.Recordset
    Dim rsDetNew As ADODB.Recordset

    lngResult = 0
    strSqlBase = "SELECT " & strTable & "Det.* FROM " & strTable & " INNER JOIN " & strTable & "Det ON " & strTable & ".Dsn = " & strTable & "Det." & strTable & "_Dsn WHERE "
    strSQL = strSqlBase & strTable & "Det." & strTable & "_dsn='" & strSourceDsn & "'"
    Set rsDet = FF_GetRecordset(strSQL)
    strSQL = strSqlBase & "1=2"
    Set rsDetNew = FF_GetRecordset(strSQL)
    If rsDet.EOF = False Then
        While rsDet.EOF = False
            rsDetNew.AddNew
            rsDetNew("Dsn") = m_oUtil.NewGUID
            Sql_CopyFields rsDet, rsDetNew, "|DSN|STAMP|"
            rsDetNew("Akt_Dsn") = strDestDsn

            lngResult = lngResult + 1
            rsDet.MoveNext
        Wend
        FF_UpdateRecordset rsDetNew
    End If

    Det_Copy = lngResult
End Function