Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: kot_k_k

    Set rst_Test = dbs.OpenRecordset("select * from t1 order by kod")
    Do While rst_Test.EOF = False
        rst_Test.MoveLast
вот туту делаем метку - последняя запись в табле на текущий момент
        Kod_MAX = rst_Test!kod

        rst_Test.MoveFirst
        Kol_ = rst_Test.RecordCount
        For i = 1 To Kol_
            rst_Card.Filter = "PARENT_CARD = '" & rst_Test!NUMBER_CARD & "'"
            Do While rst_Card.EOF = False
                ' сделали свое нужное
                GLB_VAL_COUNT = GLB_VAL_COUNT + 1
                GLB_GROUP_TURN = GLB_GROUP_TURN + rst_Card("MONTH_TURN")
                ' присвоили переменной новое значение номера карты
                STR_NUMBER_CARD = rst_Card("NUMBER_CARD") ' (rst("GROUP_ACCOUNT"))
                Id_ = rst_Test.Bookmark
                With rst_Test
                    .AddNew
                    ' добавили закладку дитяти
                    ' во временную таблу
вот вновь создаваемые имееют код больший от Kod_MAX 
                    !NUMBER_CARD = rst_Card!NUMBER_CARD
                    .Update
                End With
                rst_Test.Bookmark = Id_
                rst_Card.MoveNext
            Loop
            rst_Test.MoveNext
        Next
        ' удаляем использованных предков, да уж
вот тут удаляем из таблы ВСЕ записи - которые имеют меньший код - т.е. сделаные в преддыдущем цикле
        dbs.Execute ("delete * from t1 where kod<=" & Kod_MAX)        
        ' открываем таблу в ней только новые дети!!!!!!!
        Set rst_Test = dbs.OpenRecordset("select * from t1 order by kod")
    Loop


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.