online, добрый день! адаптировал код под свой тестовый пример.
Можно спросить концептуально по какому пути пойти далее?
В присоединенном файле, на форму в тестовом примере, вывел в списки ComboBox нужные поля.
Может конечно можно более сжато это сделать, но не факт.
Далее хочу сделать следующее:
1. при выборе любого значения из списка ID, а это поле уникальное, чтобы в остальные поля подставлялись соответствующие значения из нужной строки, т.е из массива array2.
Как это сделать алгоритмически представляю. В разделе AfterUpdate поместить код: чтения UserForm1.ComboBox2.Value и искать в массиве array2 такое значение и найдя вычислить индекс и по нему уже проставить данные в другие поля ComboBox-ов.
Хотя можно и сразу, вычислять индекс элемента списка ComboBox2 на котором стоит курсор.
Код |
---|
Dim J As Integer, st As String
J = ComboBox2.ListIndex
If J >= 0 Then st = ComboBox2.List(J) |
Это примерно правильно мыслю?
2. далее хочу попробовать сделать выбор нужных данных по фильтрации полей Вид деятельности - Специальность -Город
Чтобы выбирая Вид деятельности, в списках полей - Специальность -Город сразу пересчитывались данные и в них оставались для выбора только данные для выбранной Специальности.
И соответственно, если далее выбрать далее Специальность, то список поля Город также автоматически пересчитывался.
ФИО, это скорее инфо поле, оно просто покажется в итоге, когда будет выбрана позиция.
Как такое реализовать в принципе, концептуально?
На ADO по идее это вложенные SELECT c соответствующими WHERE.
Предположу, что можно использовать команду FILTER и полученные массивы на выходе прописывать в ComboBox-ы