Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Сортировка по возрастанию  [new]
AlexeyMV
Member

Откуда: Москва
Сообщений: 705
Салют, друзья!

Вопрос.
Имеется таблица с перечнем
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

Как сделать по порядку (специально перед оборудованием проставил числа для сортировки по возрастанию)
15 апр 19, 10:15    [21862028]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18766
Вы хотя бы указали, что ли, как данные в строке делятся на поля (и как они соотносятся с текстом запроса)... на использование тега кода и форматирование таблицы я уж и не рассчитываю...

AlexeyMV
специально перед оборудованием проставил числа для сортировки по возрастанию
Если "1. Оборудование 1" - это значение одного поля одной записи Бригады.Номер, то нет ничего проще:
ORDER BY Val(Бригады.Номер) 
15 апр 19, 10:27    [21862055]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1615
AlexeyMV,

формат поля видно строковый
Ни как.
заведите числовое поле и сортируйте по нему.
15 апр 19, 10:32    [21862070]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
AlexeyMV
Member

Откуда: Москва
Сообщений: 705
ROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)
15 апр 19, 11:22    [21862162]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5669
AlexeyMV
ROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)
если [номер] число-ACCESS бы не "проглотил"(при наличии Join) такой синтаксис - Вы делаете запрос по таблице gGant, а [бригада] в таблице rBrig
Set rst = db.OpenRecordset("select * from qGant where Бригада='" & rBrig!Бригада & "' ORDER BY Бригады.Номер
Покажте таблицу
(лучше БД с кратким изложением решаемой задачи)
15 апр 19, 11:55    [21862215]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1615
AlexeyMV
ROI, числовое тоже есть - в таблице Бригады поле Номер (но тоже как надо не сортирует)

числовой формат?
или поле строковое но туда числа занесены?
вы чё не можете посмотреть формат поля
15 апр 19, 13:15    [21862402]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
vmag
Member

Откуда: MP
Сообщений: 3139
ROI
формат поля видно строковый
Ни как.


Да по идее что-то типа CLng([Поле]] даст 1, 2, 3, ... по этому выражению и сортировать...
изврат естественно, но какой вопрос, такой и ответ...
15 апр 19, 16:21    [21862742]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
Шаман
Member

Откуда:
Сообщений: 148
Или так:
Right("000000"&[Номер];6)
15 апр 19, 17:38    [21862875]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
AlexeyMV
Member

Откуда: Москва
Сообщений: 705
sdku,

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

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

Спасибо!
16 апр 19, 10:19    [21863342]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5669
AlexeyMV
Set rBrig = db.OpenRecordset("select distinct * from Бригады order by [b]Номер[/b]")

Не понятно,однако
Создайте в конструкторе запрос который будет отвечать Вашим требованиям,скопируйте его и вставьте в рекордсет между кавычек, внеся исправления в синтаксис в соответствии с VBA....и фсе
16 апр 19, 13:44    [21863689]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по возрастанию  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5669
сортируйте по выражению (поле1-поле с перечнем)
Val(Mid([поле1];InStr([поле1];" ")))
16 апр 19, 16:17    [21863988]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить