-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


слетает акс при при обработке записей в рекордсете

Пятница, 28 Ноября 2014 г. 11:04 + в цитатник
Добрый день
помогите разобраться почему слетает акс при обработке цыклов (при обработке 1370 записи с рекордсета accounts )
ctime = Now()


    'create acc table
    sk = "select distinct history.ATTRIB_45 into accounts from history order by history.ATTRIB_45"   'таблица 37 000 записей + в рекордсете рс от силы еще на каждую запись с accounts максимум 150 записей
    DoCmd.RunSQL sk
    
With CurrentDb
    
    Set accounts = .OpenRecordset("accounts")
    Do Until accounts.EOF
    acc = accounts.Fields("ATTRIB_45")
    
    Set rs = .OpenRecordset("select history.S_DATE, history.ATTRIB_45, history.BUCKET from history where history.ATTRIB_45 = '" & acc & "' order by history.S_DATE")
    i = 0

     Do Until rs.EOF
       i = i + 1
       If i = 1 Then bucket_cur_step = rs.Fields("BUCKET"): bucket_pr_step = rs.Fields("BUCKET"): data_pr_step = rs.Fields("S_DATE")
       If bucket_cur_step = rs.Fields("BUCKET") Then GoTo next_ Else bucket_cur_step = rs.Fields("BUCKET"): data_cur_step = rs.Fields("S_DATE")

            Set rs2 = .OpenRecordset("temp")
            rs2.AddNew
            rs2.Fields("begin_date") = data_pr_step
            rs2.Fields("ATTRIB_45") = acc
            rs2.Fields("begin_date_next") = data_cur_step
            rs2.Fields("BUCKET") = bucket_pr_step
            rs2.Fields("BUCKET_next") = bucket_cur_step
            rs2.Update
            rs2.Close
        
       bucket_pr_step = bucket_cur_step
       data_pr_step = data_cur_step
        
next_:
        rs.MoveNext
        Loop
        
        rs.MoveLast
        bucket_cur_step = rs.Fields("BUCKET")
        data_cur_step = rs.Fields("S_DATE")
        
        Set rs2 = .OpenRecordset("temp")
        rs2.AddNew
        rs2.Fields("begin_date") = data_pr_step
        rs2.Fields("ATTRIB_45") = acc
        rs2.Fields("begin_date_next") = data_cur_step
        rs2.Fields("BUCKET") = bucket_pr_step
        rs2.Fields("BUCKET_next") = bucket_cur_step
        rs2.Update
        rs2.Close
        
    rs.Close
        
        accounts.MoveNext
        Loop
        
        accounts.Close
End With

http://www.sql.ru/forum/1129362/sletaet-aks-pri-pri-obrabotke-zapisey-v-rekordsete


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку