Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка полей со списками в ADP / 24 сообщений из 24, страница 1 из 1
03.04.2004, 21:06
    #32468070
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка полей со списками в ADP
... и в догонку:

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

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

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

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

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

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


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

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

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

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

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

Ну да, похоже, что простых решений тут нет, я даже и не пытался их искать - мне сразу показалось, что это невозможно.
...
Рейтинг: 0 / 0
22.04.2004, 16:18
    #32492248
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка полей со списками в ADP
Пришлось все-таки делать, и делать, соответственно, через известное место. В общем, в источник данных формы (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
22.04.2004, 16:38
    #32492368
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка полей со списками в ADP
2 Geo

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

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

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

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

public function oba
RunCommand acCmdSortAscending
end function

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

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

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

Private Sub Form_Timer()
End Sub

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

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

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

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

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


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