Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.08;
Скачать: CL | DM;

Вниз

Next   Найти похожие ветки 

 
Шакал   (2008-12-26 12:33) [0]

Здравствуйте!
Подскажите пожалуйста - есть база mdb, в ней один столбик содержит много чисел, требуется при запросе вывести все следующие числа за искомыми....т.е ищем 50 - а в гриде чтобы показало все которые стоят следом....
Так почемуто не проходит:
adoquery.SQL.text:="select * from table where fields=50 next"


 
clickmaker ©   (2008-12-26 12:35) [1]

> Так почемуто не проходит

а должно?
почему не where fields > 50?


 
Правильный$Вася   (2008-12-26 12:35) [2]

select * from tbl where fld > :n


 
Сергей М. ©   (2008-12-26 12:48) [3]


> Шакал

Под

> все следующие числа


можно понимать все что угодно.

Приведи конкретный фрагмент исходной таблицы и соотв.фрагмент того что ты хочешь в рез-те выполнения запроса увидеть в гриде ..


 
Sergey13 ©   (2008-12-26 13:40) [4]

> [0] Шакал   (26.12.08 12:33)
> Так почемуто не проходит

Дырка мала? Или есть другие признаки непроходимости?


 
Johnmen ©   (2008-12-26 13:44) [5]


> Sergey13 ©   (26.12.08 13:40) [4]
> Дырка мала?

Фу, как грубо... Помягче бы - "проходное отверстие"
:)))


 
Шакал   (2008-12-26 13:46) [6]

">" - не то...
Пример столба таблицы:
44
2
11
62
50
19
54
50
21

Нужно, что бы если запросить 50, выдало 19, 21 и т.д...
Если это вобще возможно...


 
Sergey13 ©   (2008-12-26 13:48) [7]

> [5] Johnmen ©   (26.12.08 13:44)
> "проходное отверстие"

Какое же оно проходное, если не проходит. 8-)

> [6] Шакал   (26.12.08 13:46)

А что отвечает за порядок приведенных чисел?


 
Шакал   (2008-12-26 13:50) [8]

Другая программа....сортировать нельзя...


 
Сергей М. ©   (2008-12-26 13:51) [9]

СУБД какая ?
Какие еще поля есть в этой таблице ?


 
Johnmen ©   (2008-12-26 13:53) [10]


> сортировать нельзя...

Приказ начальника?


 
Шакал   (2008-12-26 13:54) [11]

Access....другие поля меня не интересуют, нужны только числа....


 
Шакал   (2008-12-26 13:55) [12]


> Приказ начальника?

Нет...иначе вся прога не имеет смысла...


 
Johnmen ©   (2008-12-26 14:01) [13]


> Нет...иначе вся прога не имеет смысла...

Есть смутное ощущение, что эта прога не имеет смысла в любом случае...:)

ЗЫ
Не думай, что тебе чем-то помогут, пока ты секретничаешь со своей прогой.


 
Правильный$Вася   (2008-12-26 14:04) [14]

11
62
50
19
54
50
21
18
Нужно, что бы если запросить 50, выдало 19, 21 и т.д...

т.е. 54 и 18 не надо?
тогда средствами SQL это если иможно сделать, то очень мучительно


 
Сергей М. ©   (2008-12-26 14:04) [15]


> другие поля меня не интересуют


А я тебе их и не предлагаю.
Ответить сподобишься или будешь партизанить ?


 
Шакал   (2008-12-26 14:08) [16]


> тогда средствами SQL это если и можно сделать, то очень мучительно

а чем другим??)))
> Ответить сподобишься или будешь партизанить ?

Удалил все остальное с таблицы..остался один столбик с числами....
> Есть смутное ощущение, что эта прога не имеет смысла в любом
> случае...:)

Возможно ты и прав)))))
Не, на самом деле если очень сложно, то тогда лучше и не земорачиваться...эт я так, для общего развития....


 
Сергей М. ©   (2008-12-26 14:13) [17]


> Удалил все остальное с таблицы


Мдя ..Чем дальше в лес, тем злее дятлы ..

Ну что тебе сказать ?
Удали до кучи еще и это поле, а лучше сразу таблицу).. Нет таблицы - нет проблемы)


 
Шакал   (2008-12-26 14:16) [18]


> Сергей М

:)


 
Sergey13 ©   (2008-12-26 14:24) [19]

> [17] Сергей М. ©   (26.12.08 14:13)
> а лучше сразу таблицу)..

Чего мелочиться то, ведь

> [0] Шакал   (26.12.08 12:33)
> есть база mdb

8-)


 
Шакал   (2008-12-26 14:36) [20]


> Sergey13 ©   (26.12.08 14:24) [19]
>
> > [17] Сергей М. ©   (26.12.08 14:13)
> > а лучше сразу таблицу)..
>
> Чего мелочиться то, ведь
>
> > [0] Шакал   (26.12.08 12:33)
> > есть база mdb
>
> 8-)

под сталом))))))))))))))))))))))))))))))))))))))))))))))))))))))))


 
Sergey13 ©   (2008-12-26 15:05) [21]

> [20] Шакал   (26.12.08 14:36)

Но ползая под столом ты похоже так и не понял причину своей неудачи.
В обещем случае порядок расположения записей в таблице (вернее в возвращаемом наборе данных) произволен. Т.е. теоретически тот же набор записей, что ты привел, при следующем открытии возможно будет с другим порядком записей. Поэтому опираться на этот "порядок" нельзя. Необходимо иметь строго сортированный, по какому либо полю, набор данных. Вот уже в нем, опираясь на это самое "сортировочное" поле можно делать подобные выкрутасы, как ты хочешь.


 
Шакал   (2008-12-26 15:18) [22]


> Т.е. теоретически тот же набор записей, что ты привел, при
> следующем открытии возможно будет с другим порядком записей

Ну лан...это понятно...добавлю поле с порядковыми номерами...а выкртнуться то так, как?


 
Сергей М. ©   (2008-12-26 15:23) [23]

select * from Table where OrderNo > (select OrderNo from Table where NumericField = 50)


 
Шакал   (2008-12-26 15:33) [24]


> select * from Table where OrderNo > (select OrderNo from
> Table where NumericField = 50)

Это выберет строки с порядковыми номера больше 50... в таблице ~30000 строк...результат совсем не тот...


 
Сергей М. ©   (2008-12-26 15:37) [25]


> Это выберет строки с порядковыми номера больше 50


"Это" выберет строки с порядковыми номерами больше порядкового номера той строки, где в интересующем тебя поле записано 50


 
Сергей М. ©   (2008-12-26 15:38) [26]


> в таблице ~30000 строк


И что ?


 
Правильный$Вася   (2008-12-26 15:44) [27]


> т.е. 54 и 18 не надо?

а этот вопрос так и остался безответным...


 
Шакал   (2008-12-26 15:48) [28]


>
> > т.е. 54 и 18 не надо?
>
> а этот вопрос так и остался безответным...

не надо


 
MsGuns ©   (2008-12-26 15:52) [29]

Смысл в подобной выборке может быть единственный - если надо получить номера записей, введенных хронологически ПОЗЖЕ указанной. Решается только в единственном случае - если в таблице есть поле счетчика. Тогда запрос будет выглядеть так

Select FNUM from table where ID>(select ID from table where FNUM=:n)


 
Сергей М. ©   (2008-12-26 15:52) [30]


> не надо


Как это так "не надо" ?

Быстро же ты, однако, оглобли заворачиваешь - сначала тебе подай "все которые стоят следом", а теперь вдруг 54 и 18 уже не надо, хотя 54 тоже "стоит следом" за 50, как тобой показано в [6]


 
palva ©   (2008-12-26 21:45) [31]


> Ну лан...это понятно...добавлю поле с порядковыми номерами.
> ..а выкртнуться то так, как?

Можно так: в таблице t1 два целых поля id - порядковый номер и num, здесь в некоторых строках стоит 50. Если id идут подряд, то в Access работает такой запрос:

select b.num
from t1 a
inner join t1 b on b.id = a.id + 1
where a.num = 50
order by b.id

Если номера идут не подряд, то наверно тоже как-нибудь можно, добавив вложенные запросы. Но не знаю будет ли это работать на Access.


 
Шакал   (2008-12-29 08:35) [32]


> Как это так "не надо" ?
>
> Быстро же ты, однако, оглобли заворачиваешь - сначала тебе
> подай "все которые стоят следом", а теперь вдруг 54 и 18
> уже не надо, хотя 54 тоже "стоит следом" за 50, как тобой
> показано в [6]

Сори, неверно поставил вопрос, нужно 1 число стоящее за искомым....

Всем спасибо за ответы!!!


 
AndreyV ©   (2008-12-29 12:49) [33]

> [32] Шакал   (29.12.08 08:35)
> Сори, неверно поставил вопрос, нужно 1 число стоящее за
> искомым....

Ну ты подумай, о чем говоришь. Что нужно и что искомое, и кто за кем стоит.



Страницы: 1 вся ветка

Текущий архив: 2009.02.08;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.019 c
2-1230040637
Pavel
2008-12-23 16:57
2009.02.08
Подключение к базе данных


2-1230221363
dmitry_12_08_73
2008-12-25 19:09
2009.02.08
Как получить список всех форм проекта


2-1230400513
аврам
2008-12-27 20:55
2009.02.08
сортировка вставкой


15-1229401940
Клод
2008-12-16 07:32
2009.02.08
Видео на двд


3-1214304735
Roberto
2008-06-24 14:52
2009.02.08
Выбор метода реализации отчетов