powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка полей со списками в ADP
24 сообщений из 24, страница 1 из 1
Сортировка полей со списками в ADP
    #32468070
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и в догонку:

Классика жанра:
Поле со списком, связанный столбец - 1, числовой id. Отображается второй столбец, с текстовым содержимым. Жму сортировку записей по этому полю, акцесс, очевидно, сортирует по id. MDB сортировал именно по тексту. Как проще побороть?

Спасибо всем.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468078
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не смог побороть :(((
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468080
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если колонки поменять местами и связанным сделать столб 2, или порядок столбов важен?
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468082
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лифчик
Дело в том, что в таблице хранится именно числовое значение. А в поле со списком отображается соответствующая запись справочной таблицы. Нельзя сделать связанным текстовый столбец.

С другой стороны, если приджойнить соответствующее поле в источнике данных формы, можно будет. Только как это редактировать? Надо попробовать штоли...
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468084
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вру. В мдб таким образом в лучшем случае можно было править записи справочной таблицы. Или вообще нельзя было изменять такое поле. Вряд ли в адп это поменялось.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468087
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео - я имел ввиду, что сделать связанным 2-ой (числовой) столбец, просто поменяв порядок в запросе для комбо. Я почему-то с самого начала все комбо так делал - Id-поле ставил вторым в запросе, текстовое - первым и его же отображал. Просто если какая-то умолчательная сортировка никак не побарывается, то может ее можно таким способом одолеть...
Впрочем - о чем это я - советы давать начал, ламер
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468088
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас попробую...

Нет, то же самое.

авторВпрочем - о чем это я...

А я что, гуру штоли?
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468092
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В навороченный мерседес слегка въезжает камаз. Из-за руля первого, цепляясь за окружающие предметы широко расставленными пальцами, вылезает водитель и неспешно движется к камазу. Водитель камаза нисколько не расстроившись сразу предлагает назвать сумму компенсации. Услышав ее, он обходит камаз, открывает кузов, плотно забитый пачками ассигнаций, отсчитывает нужное количество пачек и вручает потерпевшему.
Тот ошарашенно:
- Э-ээ... А ты, мужик, кто вообще?
- Я? Новый русский. А ты?
- А я теперь не знаю...


:))
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468219
Извиняюсь, я, видимо, не смог понять существа вопроса...

У меня никогда не было проблем с сортировкой списка в поле со списком в ADP. В рассматриваемом случае вместо имени таблицы в RowSource пишем
Код: plaintext
select * from НашаТаблица order by  2 
(или по какому там столбцу надо строки упорядочить), и всё!

Что я не понял?
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468224
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да это единственный
минус, который обойти никак
не получится.
я всех своих так и предупредил
что по полю со списком
сортировка не работает
правильно, но они
быстро нашли выход -
стали пользоваться фильтрами.
дело в том, что они сортировкой
по столбцу пользовались для поиска
чего-нить: т. е. ставили курсор
в поле включали сортировку, а потом
бегунком искали то, что надо. фильтры
мало использовали (хотя у меня они были)
теперь мы нашли компромисс.
и ни довольны и я рад, что фильтрами
начали пользоваться.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468237
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль. :(
Так просто они с меня не слезут, значит, придется заменять стандартные кнопки сортировки своими и при нажатии подсовывать в orderby "откорректированную" строку...
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468238
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Тимур Рахимов
Надо сортировать не содержимое списка, а записи формы по этому полю.

Если у меня в списке
1 - Абрамов
3 - Иванов
2 - Якубович

То при сортировке по этому полю записи формы сортируются
Абрамов
...
Якубович
...
Иванов
...
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32468245
А, дошло...

Ну да, похоже, что простых решений тут нет, я даже и не пытался их искать - мне сразу показалось, что это невозможно.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492248
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось все-таки делать, и делать, соответственно, через известное место. В общем, в источник данных формы (view) добавляю поля, одноименные комбобоксам формы с префисом "~" (например для поля со списком псКонтрагент в источник данных добавляю поле [~псКонтрагент]), в которых натурально живут текстовые данные из связанной таблицы. Эти поля совершенно бесполезны, кроме как для сортировки + заставляют форму таскать лишние данные. Но сортировка работает. Кстати, таким же способом можно сделать и фильтры по части содержимого поля со спискам (аналогично примеру АлексеяК).
Ах да, дальше добавляем на кнопкти "сортировка а-я/я-а" вызов функций, пример одной я привожу, вторая точно такая же.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Public Function OrderByAcs()
  Dim ctl As Access.Control
  Dim bt As Boolean
  Dim frm
  
  If Screen.ActiveControl.ControlType = acComboBox Then
    On Error Resume Next
    Set ctl = Screen.ActiveControl
    Set frm = ctl.Parent
    If Err.Number <>  0  Then Exit Function
    If frm.Form.Name =  "" Then
    End If
    Do While Err.Number <> 0  And Len(frm.Name) >  0  ' в frm находится, например, ссылка на вкладку'
      Set frm = frm.Parent
      Err.Clear
      If frm.Form.Name = " " Then
      End If
    Loop
    
    Err.Clear
    If frm.RecordsetClone.Fields(" ~ " & ctl.Name).Name = "  " Then
    End If
    If Err.Number = 0  Then bt = True ' Есть поле, по которому можно сортировать'
    On Error GoTo  0 
    
    If bt Then
      frm.OrderBy = "~" & ctl.Name 
      frm.OrderByOn = True
    Else
      RunCommand acCmdSortAscending
    End If
  Else
    RunCommand acCmdSortAscending
  End If
End Function
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492368
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo

хорошо бы нашу с тобой процедурку сортировки - фильтрации дотестировать и доделать для всех возможных вариантов чтоб можно было готовый пример
людям давать ....
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492375
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дотестировать - она уже работает вовсю :))
А вот доделать и окультурить, это да, хорошо бы.
К сожалению, сейчас (еще недельку-другую, думаю) времени нет вообще нисколько (особенно после того, как с ЛП потерял на день больше, чем планировал )
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492506
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторособенно после того, как с ЛП потерял на день больше, чем планировал

а что это за история?
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492597
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это мы с ним в прошлую пятницу водочки попили. До посинения. До воскресенья почти.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32492641
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
)))

как говорится в ночь с пятницы на понедельник ))
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32521612
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тебе и раз...

Пишем функцию

public function oba
RunCommand acCmdSortAscending
end function

Вешаем ее вызов на кнопку в панели инструментов.

Создаем 2 одинаковые формы на любой таблице (речь об ADP, в MDB не пробовал еще) c одним полем.

В одну форму вешаем обработку таймера без содержимого

Private Sub Form_Timer()
End Sub

Открываем обе формы, встаем на ту, которая без таймера, жмем на кнопку в панели - сортируется не текущая форма, а та, что с таймером.

Что делать-то?!
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32521621
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RunCommand применяется к активному в данный момент объекту. А само свойство Интервал таймера задано (отлично от нуля)? Попробуй в событие Private Sub Form_Timer() сделать фокус на нужную форму/поле.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32521639
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, интервал таймера задан.
Т.е. в таймере написать
Screen.ActiveControl SetFocus
?
В сортирующей функции пробовал - результат тот же, в таймере попробую сейчас...
Нет, тот же мячик.
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32521640
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясню. Таймер работает не в активной форме. И не активная же форма в результате сортируется.
Я тут сижу и про себя нехорошо ругаюсь... :(
...
Рейтинг: 0 / 0
Сортировка полей со списками в ADP
    #32521702
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока помогло

Private Sub Form_Deactivate()
Me.TimerInterval = 0
End Sub

Private Sub Form_Activate()
Me.TimerInterval = 1000
End Sub

Но это маразм...
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка полей со списками в ADP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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