Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск наименьшего значения
 
 автор: ial52   (13.04.2010 в 11:14)   личное сообщение
 
 

Есть таблица, в которой проставлены номера по возрастанию от 1 до N. Но иногда ряд может быть разорван и какого-то числа может не хватать. Например: 1 2 3 6 7 8
Отсутствуют 4 и 5. Как при поиске остановиться на наименьшем пропущеном-на 4 ?

  Ответить  
 
 автор: Анатолий (Киев)   (13.04.2010 в 11:56)   личное сообщение
 
 


SELECT TOP 1 t1.NN FROM t1
WHERE NOT EXISTS (SELECT * FROM t1 AS t2 WHERE t2.NN = t1.NN+1)
ORDER BY t1.NN;

  Ответить  
 
 автор: kot_k_k   (13.04.2010 в 12:02)   личное сообщение
 
 

афигеть супер

вычисляет последний элемент непрерывной цепочки.

  Ответить  
 
 автор: ial52   (13.04.2010 в 12:25)   личное сообщение
 
 

Спасибо! Все работает

  Ответить  
 
 автор: kot_k_k   (13.04.2010 в 11:56)   личное сообщение
 
 

самое простое

set rs=dbs.Openrecorsdset ("select * from Tabla order by Nomer_po_poradku")
Npp=rs!Nomer_po_poradku
rs.movenext
do while rs.eof=false
        if npp-rs!Nomer_po_poradku<>1 then 
            истерика!!!!
         else
            нет истерики!!!!!
       end if
        rs.movenext
loop


как сделать запросом - не знаю, возможно вычислять для каждой записи ее физический номер в запросе и сравнивать ее с №п/п - если есть равны друг другу то не выводим, если не равны выводим запись на экран

  Ответить  
 
 автор: ial52   (13.04.2010 в 12:11)   личное сообщение
 
 

Спасибо, сейчас попробую.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList