Анимация
JavaScript


Главная  Библионтека 

0 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 [ 122 ] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

FaiEn DesicpicE liEtiigh.Ecx


Fame Fopm1 3 PBjfK

Рис. 10.18.

Для события Init объекта Olec1 записываем следующий код:

&& Помещаем в массив aTabList список таблиц из словаря данных. && В связи с установленным уровнем доступа, равным по умолчанию пяти, && данный список таблиц фильтруем с помощью предложения WHERE SELECT tableslist.table name ; FROM datavocabularyltableslist ; WHERE ALLT(Tableslist.table name)<<>>"Sale" ; AND ALLT(Tableslist.table name)<<>>"Account" ; AND ALLT(Tableslist.table name)<<>>"Customer"

AND ALLT(Tableslist.table name)<<>>"Order" ; AND ALLT(Tableslist.table name)<<>>"Salesman"

INTO ARRAY aTabList

&& Определяем значение переменной nnPabl nnPabl=0

&& Последовательно заносим список полей для каждой таблицы && в массивы 1nnAr, 2nnAr, 3nnAr, <193>

&& После чего в объект Olec1 добавляем имена таблиц и соответствующих && этим таблицам полей, а для каждого поля устанавливаем отступ (indent)=2 && и тип изображения (PictureType)=2 FOR X=1 TO ALEN(aTabList)

ThisForm.Olec1.AddItem(ALLT(aTabList(X)))

nnTab=ALLT(aTabList(X)) nnAr="nnAr"+ALLT(STR(X))

SELECT Tables.field name ; FROM datavocabularyltables ; WHERE Tables.table name = nnTab ;

INTO ARRAY &nnAr

nnAddItem="ThisForm.Olec1.AddItem"

nnArn="nnAr"+ALLT(STR(X))

FOR I = 1 TO ALEN(&nnArn)

&n nAddItem(ALLT(&n nArn (i)))

nnBeby=nnPabl+X+I-1

ThisForm.Olec1.indent(nnBeby)=2

ThisForm.Olec1.PictureType(nnBeby)=2 ENDFOR

nnPabl=nnPabl+ALEN(&nnArn)

ENDFOR



Права

ШР1гп1 lkeyfirm lnamefirm

key country lnameco unify =!)»HFiie! oil 0- ИТугв

"{Autcmohil ejiasseh ij e rear

Рис. 10.19. Форма с иерархическим списком в действии

Календарь

В следующем примере рассмотрим использование календаря для ввода или редактирования данных в поле, содержащем дату. Вместо набора даты вручную пользователь должен иметь возможность визуального выбора в календаре требуемой даты. После выбора дата должна автоматически записаться в нужное поле, как это показано на рис. 10.20. Для этого в Visual Basic откроем новый проект и создадим несложную форму. Чтобы сделать процесс создания формы максимально простым, используем, пожалуй, единственный визуальный инструмент разработчика, присутствующий в Visual Basic, - Data Form Designer - Конструктор формы для работы с данными, показанный на рис. 10.22. Необходимые пояснения для построения формы вы найдете на этом же рисунке. Построенная Конструктором форма приведена на рис. 10.21. Как видите, она мало пригодна для использования в пользовательском приложении, хотя черновая работа по размещению полей и выбора для них элементов управления выполняется автоматически без нашего участия. Мы привнесли в форму минимальные изменения и за счет корректировки значений свойств привели ее к виду, показанному на рис. 10.20. Потребовалось выполнить для объектов Label и CommandButton изменения значений свойства Caption, перемещение и изменение размеров некоторых элементов управления. Если у вас возникнут трудности с изменением размера элемента управления Data Control, установите значение свойства Allign равным 0.

Остальные элементы формы не имеют значения для работы иерархического списка, и мы не будем на них останавливаться. Готовая запущенная форма показана на рис. 10.19.




Петр-

0 плачей,:

Новая цата

ЬЗоеый

ik Выберите дату

October 1996 ос<°ье, Tjjuas j

1 Thu

1 Fri

1 Sal

?

?9 1

Рис. 10.20. Изменение даты с помощью календаря игн предстазгения данньт

CqVi Form Designer

3=is= Fo m Mome (w/c Exten? cn): Ът=г: Sjlnng:

Access

kccounts

~Qogn ClaiEbEEe

=mrrln jrrF

"3

Sc lo ct a ТаЫо/С l с rvDof ro m = I ic: or onHor a SOL otatohr о rt.

Irckided fJcUimns

KFV Anr.OU\T

KEr :iJSTi:MER

KFr 4l ГТП ид I h W-il I Ь SE.LED

QiJ/.NTrPr

£L.ilJ lliHFunn

Drcg/ZroptoQiongeOrcei

Исходны11 cnncoif попей e таалице Cni/icoh: izneA, рамзщэемья в форме

Рис. 10.21.



0 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 [ 122 ] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146