Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Добрый день! В БД есть строковое поле TIME. В нем-строка, отображающая время (напр. "15:10:46") Пишу запрос в VB6 sSQL = "SELECT * FROM ARCH ORDER BY MYDATE, MYTIME" По полю MYTIME сортируется согласно алфавиту, поскольку это строковое поле. Меня это не устраивает, поскольку нужна сортировка по времени и я пытаюсь строку перевести во время : sSQL = "SELECT * FROM ARCH ORDER BY MYDATE, TimeValue ( MYTIME)" Получаю сообщение об ошибке Data type mismatch in criteria expression. Тогда пробую sSQL = "SELECT * FROM ARCH ORDER BY MYDATE, CDate ( MYTIME)" Получаю Invalid use of NULL И пробую так sSQL = "SELECT * FROM ARCH ORDER BY MYDATE, Time ( MYTIME)" Получаю Wrong number arguments used with function in query expression 'Time ( MYTIME)' Изменить это строковое поле на DateTime не могу (сейчас, по кр.мере) - БД постоянно занята несколькими пользователями. Подскажите, пожалуйста, как можно подправить SQL-запрос, чтобы сортировка шла как надо? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 16:24 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
а что за база данных у вас? для MS SQL можно так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 16:34 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Konst_One, База данных в mdb, работаю с ней через Visual Basic 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 16:57 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Konst_One, Попробовал на всякий случай - undefined function 'convert' in expression. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:01 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:07 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Konst_One, nz? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:14 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
у автора провалы (NULL) в данных по по полю MYTIME, как я понял. поэтому и nz() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:18 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
sSQL = sSQL & "order by CDate(MYDATE & ' ' & MYTIME)" дает Data type mismatch in criteria expression sSQL = sSQL & "order by CDate ( CStr (MYDATE) & ' ' & Cstr (MYTIME,'00:00:00'))" дает Wrong number arguments used with function in query expression ... sSQL = sSQL & "order by CDate ( CStr (MYDATE) & ' ' & Cstr (MYTIME))" дает Invalid use of NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:21 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
создайте в своей mdb запрос и скопируйте код , что я написал. сохраните его под именем, например: testsql выполните его в базе mdb и посомтрите результат. если вы в программе используете ADO то вам придётся ограничиться определенными ф-ями , которые позволяет access при доступе к данным в sql (некооторые vba) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:25 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Konst_One, функции nz в VB6 не вижу, пишу так sSQL = sSQL & " order by CDate(CStr(MYDATE) + ' ' + IIF (IsNull (MYTIME)=true,MYTIME , '00:00:00'))" Получаю тот же Invalid use of NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:31 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
ещё раз повторяю - я дал код на DAO Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:33 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
проверьте значения в поле MYDATE. Может у вас там тоже NULL-значения есть, тогда его тоже в NZ() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:35 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Konst_Oneпроверьте значения в поле MYDATE. Может у вас там тоже NULL-значения есть, тогда его тоже в NZ() точно, там тоже есть пустые поля. sSQL = sSQL & " order by CDate(CStr( IIF (IsNull (MYDATE)=true, '01.01.1900' , MYDATE) ) + ' ' + IIF (IsNull (MYTIME)=true, '00:00:00' , MYTIME))" Заработало! Спасибо огромное! Здесь где-то плюсики ставятся за полезные советы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:54 |
|
||
|
ORDER BY MYTIME, где MYTIME-строка
|
|||
|---|---|---|---|
|
#18+
Alprad Здесь где-то плюсики ставятся за полезные советы? нет, не ставятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36246271&tid=2160516]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 379ms |

| 0 / 0 |
