Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2012, 22:17   #1
nolte
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 18
По умолчанию пользовательские типы данных

здравствуйте
суть вопроса вот в чем:
создал я в модуле пользовательские типы данных как писано в книге
Type a()
KodKl As Integer
Klient As String
TelKl As String
End Type
в том же модуле (для видимости во всех модулях)
Public KlInfo (1 To 2000) As a
Public Sub aa()
KlInfo(1).KodKl=1 ' для примера
KlInfo(2).KodKl=2
KlInfo(3).KodKl=3
End Sub
как передать значение массива в модуль формы для дальнейшей обработки, и как заполнить данными "KlInfo.KodKl" Combobox1, а данными
"KlInfo.Klient" скажем Текстбокс1.
Если не решение хотя бы направление поиска куда копать.
nolte вне форума Ответить с цитированием
Старый 30.09.2012, 19:11   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> как писано в книге
> Type a()

Не верю! (с)
Код:
Type a '() скобок не должно быть
>как заполнить данными "KlInfo.KodKl" Combobox1
Код:
Private Sub UserForm_Initialize()
Dim i&
For i = LBound(KlInfo) To UBound(KlInfo)
    ComboBox1.AddItem KlInfo(i).KodKl
Next
End Sub
>а данными "KlInfo.Klient" скажем Текстбокс1
Код:
Private Sub ComboBox1_Change()
TextBox1 = KlInfo(ComboBox1.ListIndex + 1).Klient
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 30.09.2012, 21:38   #3
nolte
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 18
По умолчанию

Спасибо Вы выручали меня
да думка была заполнить массив вне инициализации а потом просто подставить значение типа комбобокс равен массиву и все ан нет не проходит. Дело в том что список длинный пару тысяч наименований, и достаточно статичный скажем сначала в него будет чего то добавляться но в конце концов он устаканиться, это берет время набить комбобоксы их несколько на форме (торможение при загрузке) пойду экспериментировать.
nolte вне форума Ответить с цитированием
Старый 06.10.2012, 08:54   #4
ikki_pf
Форумчанин
 
Регистрация: 25.02.2012
Сообщений: 166
По умолчанию

"пару тысяч" наименований в одном комбобоксе - это плохо.
ikki_pf вне форума Ответить с цитированием
Старый 08.10.2012, 03:51   #5
nolte
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 18
По умолчанию

Да уж не сахар
но вроде как работает сносно
nolte вне форума Ответить с цитированием
Старый 08.10.2012, 08:26   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
но вроде как работает сносно
а не лучше разбить по группам и сделать связанные списки, которые и привязать к комбобоксу?
http://www.planetaexcel.ru/tip.php?aid=64
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Коллекции и пользовательские типы данных hoza Microsoft Office Excel 19 08.03.2018 14:54
std::numeric_limits и пользовательские типы coNsept Общие вопросы C/C++ 2 19.09.2012 18:16
Пользовательские типы данных. Тип запись. AntoshkaK Паскаль, Turbo Pascal, PascalABC.NET 1 14.04.2012 14:14
Пользовательские типы в паскале, структуры anguis Помощь студентам 0 14.11.2011 15:35