Лекция: Пример создания поля со списком

Предположим, что нам надо создать форму, с помощью которой пользователь выбирает кафедру:

Данные, на основе которых формируется поле со списком, находятся в первом столбце на листе Кадры, в книге C:\St\Институт.xls (рис. 12.14).

Тогда фрагмент кода, который формирует поле со списком, запишется так:

'Объявляем переменные и массивы:

Dim Кафедры() As String

Dim Кафедра As String

Dim НомерСтроки As Integer

Dim КолСотрудников As Integer

Dim КолКафедр As Integer

'Формируем список кафедр, которые _

встречаются в первом столбце на листе Кадры:

КолКафедр = 1 'кол-во кафедр

'Выделяем память для первой кафедры и _

заносим её в массив из ячейки (3,1):

ReDim Preserve Кафедры(1) As String

Кафедры(1) = Trim(Cells(3, 1).Value)

'Перебираем остальные записи БД, проверяя _

наличие очередной кафедры в массиве Кафедры:

НомерСтроки = 4

While Trim(Cells(НомерСтроки, 1).Value) <> ""

Кафедра = _

Trim(Cells(НомерСтроки, 1).Value)

For j = 1 To КолКафедр

If Кафедра = Кафедры(j) Then GoTo n3

Next j

КолКафедр = КолКафедр + 1

ReDim Preserve Кафедры(КолКафедр) As String

Кафедры(КолКафедр) = _

Trim(Cells(НомерСтроки, 1).Value)

End If

n3: НомерСтроки = НомерСтроки + 1

Wend

CallСортировка 'Процедура сортировки списка.

'Процедуру сортировки напишите самостоятельно.

frmКафедра.cboКафедра.List = Кафедры

frmКафедра.Show

Для того чтобы узнать, какой элемент списка выбрал пользователь, воспользуемся свойством Value:

Private Sub cmdOK_Click()

Dim Кафедра As String

Кафедра = cboКафедра.Value

MsgBox «Выбрана кафедра » & Кафедра & "!", _ vbInformation, «Сообщение»

еще рефераты
Еще работы по информатике