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 |