Написал программку анализа данных.
ее задача получать поток данных и обрабатывать последние 10 (каждый раз). определяем как давно встречался этот признак, на основе результата обработки принимается решение.
реализовано следующим образом:
db.Execute ("insert into RES (d) values (" + Str(d)+ ")")
' добавляем в таблицу новое значение
Set rs = db.OpenRecordset("select s.*,res.id from res, s where res.d = s.n")
' таблица s содержит все возможные результаты данных с указанием значений их признаков для анализа
rs.MoveLast
For i = 1 To 10
For j = 1 To 9 ' обрабатываем 9 признаков (от 1 по 9)
If rs.Fields(j) Then mstavka(j, 4) = i ' собственно поиск
Next j
rs.MovePrevious
Next i
Как видите ничего сложного, но!
система исправно работает, получает 1000-1500 значений а потом начинается что то непонятное
Вот пример с результатом полученные после 2000 значений
for i= 1 to 10: ? rs.Fields(10):rs.MovePrevious :next i
2182
2181
2175
2172
2176
2178
2170
2179
2169
2180
вполне очевидно что правильные только 2 первых значения
Кто либо сталкивался с этим?
Что делать?
Мне просто в голову ничего не приходит!