слетает акс при при обработке записей в рекордсете |
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
| Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |