otveti / 6
.docОС20С31 ОС4ТОМУ СТУЛетУ ВЫЧИСЛКТЬ СРСДЮ°Ю °ЦвНКУ " ВЫВвСТИ ТОЛЬК° ^ У КОТОРЫХ СрвДНЯЯ оценка н« «е"ьше средней по всей таблице. Tab! (KodSP, KodST. Fam, OC1,
Public Function FSRED (Paramarray a()) as Single
Dim S as integer'сумма оценок
Dim b as Variant'параметр цикла For each
Dim k as Integer'количество оценок
S=0:K=0
For each b in a
S-S+b.K>K+I
Nextb
FSRED - СШТ (S\K«100)\100
End Function
'I as Integer
For 1=0 to 3
S=S+4(I)
Next I
FSRED....(S\4)
Запрос. Select KodSP, KodST, Fam, FSRED (OC1, OC2, ОСЗ, ОС4) as SROC
FromTabl
WHERE FSRED (OCl,OC2,OC3,OC4)>=(Select AVG (FSRED (OC1, OC2, ОСЗ, ОС4)) From Tabl);
46. формы. модуль формы. алгоритм нахождения количества в записи и определение «динамики» ^постоянного роста или падения). Пример. Выдать информацию о динамике выпуска предприятия.
Public Function FDIN (Paramarray aQ) as string
Dim I as integer, b(4) as integer
Dim LR as Boolean 'рост
Dim LP as Boolean 'падение
For 1=0 to 4 'преобразование
ВО^аф'в числовую
Next I
LR=true 'наблюдается рост
LP=true * наблюдается падение
For 1-1 To 4
If ba-l)> b(I) Then LR=>False ' нет роста
If b(M)< b(I) Then LP-False ' нет падения
Next I
Fdin - Switch (Not LR and not LP, "колебание", LK and LP, "падение", LR, "рост", LP, "падение")
End Function
Public Function Fkol (Paramarray aQ) as Integer
Dim k as Integer''Количество оценок =5
Dim I as Integer'Параметр цикла
For 1=0 To 3' четвертые оценки
Ifa(I)-5ThenK=K-H
Next I
If K=4 Then Fkol=l Else Fkol=9
End Function
47. Статистическая функция OLOOKUP и ее применение а модулях.
Функция DLookup используется, чтобы получить значение определенного поля в указанной наборе записей (подмножестве). Функция DLookup используется в Visual Basic, в макросе, модуле, выражении запроса или в вычисляемом элементе управления.
Используйте функцию DLookup, чтобы отобразить значение поля, которое не находится в источнике записей формы или отчета. ТЛясАсщ^выражение, подмножество, (условия^отбора]). Выражение - определяет поле, значение которого нужно возвратить. Эю может быть строковое выражение, определяющее поде в таблице или запросе, или выражение, которое производит вычисление на основе сведений в этом поле. Аргумент выражение может содержать имя поля в таблице, элемент управления в форме, константу или функцию. Если аргумент выражение содержит функцию, она может быть встроенной иди пользовательской функцией, но не может быть другой функцией по подмножеству или статистической функцией SQL. Подмножество - Строковое выражение, определяющее набор записей, составляющих подмножество. Имя таблицы или имя запроса, для которых не нужен параметр. Условие отбора - Необязательное строковое выражение, используемое для ограничения диапазона данных, с которым работает функция DLookup. Аргумент условия_отбора часто эквивалентен предложению WHERE в инструкции SQL без использования самого слова WHERE. Если аргумент условня_отбора опушен, функция DLookup вычисляет выражение для всего подмножества. Поля, включенные в аргумент условия _отоора, должны также входить в подмножество; в противном случае функция DLookup вернет значение Null. Если аргументу условия_отбора соответствуют несколько полей, функция DLookup возвращает первое найденное значение. Необходимо указать такие условия, при которых значение поля, возвращаемое функцией DLookup, было бы уникальным. Чтобы гарантировать возврат функцией DLookup уникального значения, в качестве условий можно выбрать значение ключевого поля, такого как поле [ КодСотрудника ], как это показано в следующем примере. Dim varX As Variant varX = DLookup("[LastName] ", "Employees", " [EmployeelD] = 1")
Пример
В следующем примере выражение возвращает сведения о названии из поля «Название» (CompanyName) записи, удовлетворяющей аргументу условия_отбора. В качестве подмножества выбрана таблица «Поставщики» (Shippers). Аргумент условия_отбора ограничивает результирующий набор записей только теми, для которых значение поля «КодПоставщика» (ShipperlD) равно единице (1). Dim varX As Variant
varX = DLookup {" [CompanyName]", "Shippers", "[ShipperlD] = 1")
В следующем примере для определения условий для функции DLookup используется элемент управления <еКодПоставшика» (ShipperlD), расположенный на форме. Необходимо заметить, что связь с элементом управления не заключена в одинарные кавычки, обозначающие строки. Таким образом гарантируется, что Microsoft Access получит текущее значение элемента управления каждый раз при вызове функции DLookup. Dim varX As Variant
varX = DLookup (" [CompanyName]", "Shippers", "[ShipperlD] = " _ & Forms!Shippers!ShipperlD)
В следующем примере для получения значения используется переменная intSearch. Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup {" [CompanyName] ", "Shippers", _
" [ShipperlD] =• " & intSearch)
48. Формы. модуль формы. алгоритм сортировки массивов. Пример.
Перестановка элементов в массиве в соответствии с возрастающим или уоываюшим значением переменных - сортировка. Перестановка осуществляется с помощью трех операторов 1). R=a(T):a(I)=a(J):a(r)=iR Функция возвращает, вычисляет только 1 значение. Следовательно отсортированный массив можно собрать только в строку символов (только в 1 поле) и передать его в поле запроса. В запросе 1 поле: в нем FsortQ Public Function Fsort (Paramarray aQ as String) Dim I as Integer, J as Integer Dim b(4) as Integer Dim R as 1п1едег'рабочее поле Dim ST as String' результативная строка For 1=0 To 4' преобразование в число
Next I
ST-11H
For 1=0 To 3' сортировка
ForJ=I+lTo4
If b(I)>b(J) Then R=b(I) : b(I)=b(J):b(J)=-R
Next J,I
For 1=0 to 4
ST=ST & STR(b(I)) & " '"формирование строки результата
Next I
Fsort * ST
End Function
Запрос. Select KodP, Izd, Fsort (V1,V2,V3,V4,V5) as [VIP PO VOZR]
Fro m tab 1;
49. модули. Процедуры и функции. структуры блоков. Назначение и различие.