powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Неправильно выделяются строчки в списке
16 сообщений из 16, страница 1 из 1
Неправильно выделяются строчки в списке
    #39198531
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется некоторый список АС(автоматизированная система) при выборе значения из которого из базы данных подгружается
список зданий и помещений.Из них выделяются те, которые принадлежат данной АС.
Так вот..при первом клике на список АС все нормально выделяется,а после если кликать 2,3 раз и т.д. выделяется неправильно.

Список строчек которые нужно выделять загружается из запроса в белый список справа(ListSelection).
Код изменения выделения списка помещений:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub AC_Click()
Me.[Buildings].Requery
For i = 0 To Me![Buildings].ListCount
Me![Buildings].Selected(i) = False
Next

For i = 0 To Me![Buildings].ListCount
For j = 0 To Me![ListSelection].ListCount
If Me![Buildings].Column(1, i) = Me![ListSelection].Column(1, j) Then
Me![Buildings].Selected(i) = True
End If
Next
Next
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198586
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедуру можно упростить
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub AC_Click()
  For i = 0 To Me.[Buildings].ListCount
    For j = 0 To Me.[ListSelection].ListCount
      Me.[Buildings].Selected(i) = Me.[Buildings].Column(1, i) = Me.[ListSelection].Column(1, j)
    Next
  Next
................
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198723
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,присваивание неправильное,типы данных разные
Код: vbnet
1.
Me.[Buildings].Selected(i) = Me.[Buildings].Column(1, i)
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198735
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redfenix,

)))
Это не присваивание.
Присваивается результат сравнения.
Зачем кусок оторвали?)))

Скопируйте то, что Вам предложено, полностью и вставьте в код.
Выполните.
Ну и как?)))
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198739
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот Вам скобки для ясности
Код: vbnet
1.
Me.[Buildings].Selected(i) = (Me.[Buildings].Column(1, i) = Me.[ListSelection].Column(1, j))
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198755
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,тем не менее данный код выдает ошибку type mismatch.
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198823
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вношу две поправки:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub AC_Click()
  For i = 0 To Me.Buildings.ListCount - 1
    For j = 0 To Me.ListSelection.ListCount - 1
      Me.Buildings.Selected(i) = Me.Buildings.Column(1, i) = Me.ListSelection.Column(1, j)
      If Me.Buildings.Selected(i) Then
        Exit For
      End If
    Next
  Next
................

Попробуйте.
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198874
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,да, так работает.Теперь осталось разобраться что не так со списком...
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39198882
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redfenix,
А что именно непонятно?
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39199285
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,в архиве рисунки прикреплены.Если на одно и тоже поле в списке АС кликать,то сначала все нормально выделяется.Потом выделение начинает пропадать если кликать еще раз.
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39199313
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите полный текст процедуры AC_Click().
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39200336
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,поменял название списка помещений с buildings на rooms более подходящее.А список зданий теперь называется buildings
Код: vbnet
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.
Me![ListSelection].Requery
Dim i As Integer
Dim j As Integer
If Me![ListSelection].ListCount > 0 Then
For i = 0 To Me![Buildings].ListCount
For j = 0 To Me![ListSelection].ListCount
If Me![Buildings].Column(1, i) = Me![ListSelections].Column(1, j) Then
Me![Buildings].Selected(i) = True
End If
Next
Next
Me![ID] = Me.Buildings.Column(1)
Me.Rooms.Requery

For i = 0 To Me![Rooms].ListCount - 1
For j = 0 To Me![ListSelection].ListCount - 1
Me![Rooms].Selected(i) = Me![Rooms].Column(1, i) = Me![ListSelection].Column(0, j)
If Me![Rooms].Selected(i) Then
 Exit For
End If
Next
Next
Else
  For i = 0 To Me![Buildings].ListCount
  If (Me![Buildings].Column(1, i) = "не выбрано") Then
  Me![Buildings].Selected(i) = True
  Me![ID] = Me.Buildings.Column(1)
  Me![Rooms].Requery
  For j = 0 To Me![Rooms].ListCount
  Me![Rooms].Selected(j) = False
  Next
  Exit For
  End If
  Next
End If
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39200622
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Конечное значение счетчика цикла For везде должно быть .... ListCount - 1, так как отсчет с 0.
2. Все эти Requery, они зачем?
3. Нет очистки ранее выбранных Buildings.
4. Квадратные скобки зачем, без них не воспринимается?
5. Код все же желательно структурировать отступами во избежание каши.
6. Dim обычно идет самой первой строкой.
7. Ответ раз в сутки - это занятно.)))
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39200737
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
1)Поправил
2)При выборе АС мы выделяем здание которое принадлежит АС в списке buildings и помещения в списке rooms.Но у каждого здания разный список помещений поэтому список обновляется заново.
3)Там нету мультивыбора и все работает без очистки
4)На всякий случай)
5)тут есть какая-нибудь функция автоматического форматирования?
6)учту,на C# программирую в основном,а там объявление переменных идет непосредственно перед их использованием.
7)на работе нету прямого выхода в интернет,приходится ходить на отдельный компьютер плюс не всегда есть время.
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39200760
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redfenix,

Ну, ладно.
После 1) ничего в лучшую сторону не изменилось?

5) Кажется, только автоотступы по умолчанию (повторяет отступ предыдущей строки).
Я делаю вручную.
Если пользоваться Notepad++, там можно больше.
Но мне и так привычно.
...
Рейтинг: 0 / 0
Неправильно выделяются строчки в списке
    #39200803
redfenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,после всех изменений стал меньше этот баг проявляться,но никуда не пропал.Решил проверить значение поля Me![Rooms].Selected(i) для всех строчек по отдельности.Результаты в архиве
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Неправильно выделяются строчки в списке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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