Вопрос чайника (по сортировке)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Вопрос чайника (по сортировке)

Сообщение Disa » 07.09.2006 (Чт) 12:02

Господа, такой вопрос
Делаю простой запрос в котором в конструкторе прошу отсортировать по возрастанию.
Сортирует не правильно. Идут цифры 1, 11, 110, 12, 2, 20, 201 т.д
А мне надо типа 1, 2, 3, 4 как числа.
Может кто подскажет что нужно сделать.
Зараннее спасибо

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 07.09.2006 (Чт) 12:24

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

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Вопрос чайника (по сортировке)

Сообщение Disa » 07.09.2006 (Чт) 12:39

Не помогло

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.09.2006 (Чт) 13:50

запрос в студию и какая у тебя база?

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Сообщение Disa » 07.09.2006 (Чт) 13:54

Access 2003

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.09.2006 (Чт) 14:05

запрос выкладывай свой

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Сообщение Disa » 07.09.2006 (Чт) 14:09

Код: Выделить всё
SELECT [остатки 1512].ТМЦ, [остатки 1808].[Оптовый склад на Октябрьской]
FROM [остатки 1808] INNER JOIN [остатки 1512] ON [остатки 1808].ТМЦ = [остатки 1512].ТМЦ
GROUP BY [остатки 1512].ТМЦ, [остатки 1808].[Оптовый склад на Октябрьской]
HAVING ((([остатки 1808].[Оптовый склад на Октябрьской])<>""))
ORDER BY [остатки 1808].[Оптовый склад на Октябрьской];

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Сообщение Disa » 07.09.2006 (Чт) 14:11

Сделано все без программирование в обычном конструкторе запросов.
По другому не знаю как выкладывать запрос

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.09.2006 (Чт) 14:26

Код: Выделить всё
SELECT [остатки 1512].ТМЦ, [остатки 1808].[Оптовый склад на Октябрьской]
FROM [остатки 1808] INNER JOIN [остатки 1512] ON [остатки 1808].ТМЦ = [остатки 1512].ТМЦ
GROUP BY [остатки 1512].ТМЦ, [остатки 1808].[Оптовый склад на Октябрьской]
HAVING ((([остатки 1808].[Оптовый склад на Октябрьской])<>""))
ORDER BY [остатки 1808].[Оптовый склад на Октябрьской];


[Оптовый склад на Октябрьской] тип поля текстовый, на сколько я вижу из условия:

HAVING ((([остатки 1808].[Оптовый склад на Октябрьской])<>""))

Если там циферки храняться, то используйте CLNG():

Код: Выделить всё

SELECT [остатки 1512].ТМЦ, CLNG(0 & [остатки 1808].[Оптовый склад на Октябрьской]) as  [Оптовый склад на Октябрьской]
FROM [остатки 1808] INNER JOIN [остатки 1512] ON [остатки 1808].ТМЦ = [остатки 1512].ТМЦ
GROUP BY [остатки 1512].ТМЦ, CLNG(0 & [остатки 1808].[Оптовый склад на Октябрьской])
HAVING CLNG(0 & [остатки 1808].[Оптовый склад на Октябрьской])<>0
ORDER BY CLNG(0 & [остатки 1808].[Оптовый склад на Октябрьской])

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 07.09.2006 (Чт) 19:10

Disa, судя по запросу у тебя тип поля [Оптовый склад на Октябрьской] все-таки текстовый. Зайди в конструктор и измени его на числовой и порядок сортировки у тебя автоматически изменится на такой, как ты хочешь.
Ну или запрос поменять, как советует Konst_one.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Сообщение Disa » 08.09.2006 (Пт) 12:18

Может кто подскажет как изменить тип поля.
Ну не могу я найти :shock:

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 08.09.2006 (Пт) 12:22

Открыть в Access нужный mdb-файл. Слева в объектах выбрать "Таблицы", выделить нужную таблицу, вверху нажать "Конструктор", в открывшемся окне изменить тип данных у требуемого поля (выпадающий список).
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Disa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 16.08.2006 (Ср) 14:03

Сообщение Disa » 08.09.2006 (Пт) 12:32

УРА! Работает


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList