Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 11

Многоуровневый выбор городов. ListBox показывает инфо не по нужному индексу

17.09.2012, 18:43. Показов 862. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста !

Есть база клиентов , из разных городов МО , при загрузке формы города добавляются в комбо при этом повторы отсекаются, а клиенты в лист бокс . Сделано для того что бы можно было делать сорт по городам. Выбираю в комбо - Балашиха , и в лист бокс отображаются клиенты только из Балашихи. Все это я сделал , теперь надо что бы при нажатии на клиента в лист бокс, показывалась сопутствующая информация о нем. Это тоже вроде сделал , а не тут то было. Индексы то списка совсем уже другие и по тому инфа отражается не та !

Visual Basic
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Private Sub UserForm_Activate()
'Îò÷èñòêà ïåðâîãî ïîëÿ ñî ñïèñêîì
UserForm1.ListBox1.Clear
'ïîäñ÷åò â ïåðåìííîé N êîëè÷åñòâà âàðèàíòîâ ïëàòüåâ ïî ïðàéñó
Dim N As Long
N = 2
While N <> 530
      N = N + 1
Wend
'Çàïîëíåíèå ñïèñêà
    For i = 2 To N + 1
    UserForm1.ListBox1.AddItem Worksheets("Êîíòðàãåíòû").Cells(i, 4).Value
    Next i
 
    For i = 2 To N + 1
 
    UserForm1.ComboBox1.AddItem Worksheets("Êîíòðàãåíòû").Cells(i, 3).Value
 
    Next i
 
 
Dim b As Integer
Dim PrevIndex As Long 'èíäåêñ â êîìáîáîêñ íà ïîñëåäíèé íåóäàëåííûé ýëåìåíò
PrevIndex = ComboBox1.ListCount - 1
For b = ComboBox1.ListCount - 2 To 0 Step -1
    If ComboBox1.List(b) = ComboBox1.List(PrevIndex) Then
        ComboBox1.RemoveItem b 'ñîâïàäàåò ñ ïðåäûäóùèì, óäàëèòü.
        PrevIndex = PrevIndex - 1 'Ïîñëå óäàëåíèÿ ýëåìåíò ñìåñòèëñÿ ââåðõ, íàäî îáíîâèòü óêàçàòåëü
    Else
PrevIndex = b 'Íå ñîâïàäàåò ñ ïðåäûäóùèì. Îí ñòàíåò íîâûì ïðåäûäóùèì.
    End If
Next b
 
End Sub
 
Private Sub ComboBox1_Change()
ListBox1.Clear
N = 2
While N <> 530
      N = N + 1
Wend
'Çàïîëíåíèå ñïèñêà
    For i = 2 To N + 1
    If Worksheets("Êîíòðàãåíòû").Cells(i, 3).Value = ComboBox1.Text Then
    
       UserForm1.ListBox1.AddItem Worksheets("Êîíòðàãåíòû").Cells(i, 4).Value
       
       
    End If
    
    Next i
        
End Sub
 
Private Sub ListBox1_Click()
Label7.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 4).Value
 
Label6.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 6).Value & " " & Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 7).Value ' Òåëåôîíû
 
Label8.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 5).Value
 
Label9.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 8).Value
 
Label11.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 9).Value
 
Label12.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 10).Value
 
Label20.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 13).Value
 
Label17.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 12).Value
 
Label16.Caption = Worksheets("Êîíòðàãåíòû").Cells(UserForm1.ListBox1.ListIndex + 2, 11).Value
 
Dim schet As Long
schet = 0
If Label16.Caption = "" Then
schet = schet + 1
End If
If Label17.Caption = "" Then
schet = schet + 1
End If
If Label9.Caption = "" Then
schet = schet + 1
End If
If Label11.Caption = "" Then
schet = schet + 1
End If
If Label6.Caption = "" Then
schet = schet + 1
End If
 
If schet > 2 Then
Label23.Caption = "Ó âàñ î÷åíü ìàëî èíôîðìàöèè î äàííîì êëèåíòå"
Else
Label23.Caption = ""
End If
 
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2012, 18:43
Ответы с готовыми решениями:

Диск инфо показывает тревога
доброго времени , есть хард от ноута , решил проверить его в кристал диск инфо и там показывает тревога , температура 24градуса , вот смарт...

Вывод строки из ListBox по индексу
Доброе времени суток, подскажите как вывести строку с ListBox1,по его индексу Label4-&gt;Caption=ListBox1-&gt;Items-&gt;CommaText;...

Добавить значение в listBox по индексу
Добрый вечер. Вопрос такой: как добавить значение в listBox по индексу. Результат операции отображдается в textbox. и его так же нужно...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2012, 18:43
Помогаю со студенческими работами здесь

listBox работа с элементами по индексу
1)Как узнать имя элемента по индексу в listBox? 2)Как узнать количество элементов в listBox?

Изменить цвет строки listbox по индексу
Здравствуйте подскажите пожалуйста как изменить цвет строки listbox по индексу?

Получить значения элемента ListBox по индексу
Доброго времени суток! У ListBox задан источник данных(показано в коде), известен индекс(index) определённой записи в ListBox, как получить...

Получение записи из ListBox по заданному индексу
Здравствуйте, хочу узнать как получить запись в листбокс под конкретным номером. Можете подсказать? Допустим мне нужно получить запись в...

Добавление следующего по индексу элемента в listBox
Здравствуйте. Подкажите пожалуйста, как сделать так, чтобы при вводе слова в текст бокс, выбирались все совпадения, + элемент со следующим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru