Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.006 c
4-1204707100
alexnov
2008-03-05 11:51
2009.02.08
Как получить инфу о модели монитора без дров для него?


15-1229203553
Riply
2008-12-14 00:25
2009.02.08
Хочу сказать спасибо :)


3-1214511490
Duma
2008-06-27 00:18
2009.02.08
Как перегнать записи из Table1


2-1228830704
abhtr
2008-12-09 16:51
2009.02.08
UPPER не работает с русскими буквами


6-1197837772
Nil
2007-12-16 23:42
2009.02.08
Отладка HTTP запросов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский