Автор | Сообщение |
|
| постоянный участник
|
Пост N: 303
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.07.07 09:48. Заголовок: Подскажите алгоритм проверки л/счетов
Всем привет. Имеется база из 50 000 записей. В ней поле Л/счета абонента С 8.0 Подскажите алгоритм проверки на сдвоенные-строенные л.счета Только быстрый алгоритм, а то у меня медленно что-то проверяет. Язык хХарбор. Заранее спасибо.
|
|
|
Ответов - 6
[только новые]
|
|
|
| |
Пост N: 776
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.07.07 11:58. Заголовок: Re:
Andrey пишет: цитата: | Подскажите алгоритм проверки на сдвоенные-строенные л.счета |
| В момент заведения или нужно проверить уже текущую базу ?
|
|
|
|
| |
Пост N: 777
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.07.07 12:34. Заголовок: Re:
Проверка в момент ввода Индекс по полю счета chet Func Test() local ret:=.t. local old_rec:=baza->(recno()) local ctestik:=baza->chet if baza->(dbseek(ctestik)) do while baza->chet==ctestik if baza->(recno())#old_rec ret:=.f. ? "Есть такой счет......." exit endif baza->(dbskip()) enddo endif baza->(dbgoto(old_rec)) return ret
|
|
|
|
| постоянный участник
|
Пост N: 304
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.07.07 10:04. Заголовок: Re:
Dima пишет: цитата: | В момент заведения или нужно проверить уже текущую базу ? |
| Нужно проверить уже текущую базу. В момент ввода это понятно. А вот как быстро проверить всю базу, это проблема.
|
|
|
|
| Администратор
|
Пост N: 564
Зарегистрирован: 23.05.05
|
|
Отправлено: 30.07.07 10:27. Заголовок: Re:
Local abad := {} Local xKey := '!@#$%^' go top while ! eof() if Key == xKey AADD(aBad, RecNo()) endif xKey := Key skip enddo в результате в массиве aBad будут номера записей с повторяющимися ключами
|
|
|
|
| постоянный участник
|
Пост N: 305
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.07.07 19:24. Заголовок: Re:
Pasha пишет: цитата: | в результате в массиве aBad будут номера записей с повторяющимися ключами |
| И наверно перед проверкой нужно построить индекс по полю проверки ?
|
|
|
|
| Администратор
|
Пост N: 565
Зарегистрирован: 23.05.05
|
|
Отправлено: 31.07.07 08:10. Заголовок: Re:
Andrey пишет: цитата: | И наверно перед проверкой нужно построить индекс по полю проверки ? |
| само собой
|
|
|
|