Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка по возрастанию / 11 сообщений из 11, страница 1 из 1
15.04.2019, 10:15
    #39801300
AlexeyMV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
Салют, друзья!

Вопрос.
Имеется таблица с перечнем
1. Оборудование 1
2. Оборудование 2
3. Оборудование 3
4. Оборудование 4
5. Оборудование 5
6. Оборудование 6
7. Оборудование 7
8. Оборудование 8
9. Оборудование 9
10. Оборудование 10
11. Оборудование 11
12. Оборудование 12

Имеется рекордсет:
Set rst = db.OpenRecordset("select * from qGant where Бригада='" & rBrig!Бригада & "' ORDER BY Бригады.Номер ASC")

На выходе получается следующее:
1. Оборудование 1
10. Оборудование 10
11. Оборудование 11
12. Оборудование 12
2. Оборудование 2
3. Оборудование 3
4. Оборудование 4
5. Оборудование 5
6. Оборудование 6
7. Оборудование 7
8. Оборудование 8
9. Оборудование 9

Как сделать по порядку (специально перед оборудованием проставил числа для сортировки по возрастанию)
...
Рейтинг: 0 / 0
15.04.2019, 10:27
    #39801308
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
Вы хотя бы указали, что ли, как данные в строке делятся на поля (и как они соотносятся с текстом запроса)... на использование тега кода и форматирование таблицы я уж и не рассчитываю...

AlexeyMVспециально перед оборудованием проставил числа для сортировки по возрастаниюЕсли "1. Оборудование 1" - это значение одного поля одной записи Бригады.Номер , то нет ничего проще:
Код: sql
1.
ORDER BY Val(Бригады.Номер) 
...
Рейтинг: 0 / 0
15.04.2019, 10:32
    #39801314
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
AlexeyMV,

формат поля видно строковый
Ни как.
заведите числовое поле и сортируйте по нему.
...
Рейтинг: 0 / 0
15.04.2019, 11:22
    #39801358
AlexeyMV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
ROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)
...
Рейтинг: 0 / 0
15.04.2019, 11:55
    #39801382
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
AlexeyMVROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)если [номер] число-ACCESS бы не "проглотил"(при наличии Join) такой синтаксис - Вы делаете запрос по таблице gGant, а [бригада] в таблице rBrig
Код: vbnet
1.
Set rst = db.OpenRecordset("select * from qGant where Бригада='" & rBrig!Бригада & "' ORDER BY Бригады.Номер

Покажте таблицу
(лучше БД с кратким изложением решаемой задачи)
...
Рейтинг: 0 / 0
15.04.2019, 13:15
    #39801456
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
AlexeyMVROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)
числовой формат?
или поле строковое но туда числа занесены?
вы чё не можете посмотреть формат поля
...
Рейтинг: 0 / 0
15.04.2019, 16:21
    #39801614
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
ROIформат поля видно строковый
Ни как.

Да по идее что-то типа CLng([Поле]] даст 1, 2, 3, ... по этому выражению и сортировать...
изврат естественно, но какой вопрос, такой и ответ...
...
Рейтинг: 0 / 0
15.04.2019, 17:38
    #39801698
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
Или так:
Right("000000"&[Номер];6)
...
Рейтинг: 0 / 0
16.04.2019, 10:19
    #39801918
AlexeyMV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
sdku,

нашел где поправить

Set rBrig = db.OpenRecordset("select distinct * from Бригады order by Номер ")
а уменя было
Set rBrig = db.OpenRecordset("select distinct * from Бригады order by Бригада ")

Спасибо!
...
Рейтинг: 0 / 0
16.04.2019, 13:44
    #39802111
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
AlexeyMV
Код: vbnet
1.
Set rBrig = db.OpenRecordset("select distinct * from Бригады order by Номер")


Не понятно,однако
Создайте в конструкторе запрос который будет отвечать Вашим требованиям,скопируйте его и вставьте в рекордсет между кавычек, внеся исправления в синтаксис в соответствии с VBA....и фсе
...
Рейтинг: 0 / 0
16.04.2019, 16:17
    #39802254
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по возрастанию
сортируйте по выражению (поле1-поле с перечнем)
Код: vbnet
1.
Val(Mid([поле1];InStr([поле1];" ")))
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка по возрастанию / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]