46270 (665474), страница 3

Файл №665474 46270 (Создание информационной модели) 3 страница46270 (665474) страница 32016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Существует множество индексных методов доступа, в основе которых лежит принцип создания отдельного файла или структуры из статей значений действительного ключа. Статья действительного ключа называется статьёй индекса, а весь файл действительных ключей - индексом. Индексный файл значительно меньше собственно базы данных, и, поскольку в оперативной памяти могут находиться многие из его статей, скорость поиска в нём гораздо выше.

В индексно-последовательном методе доступа индексный файл всегда упорядочен по так называемому первичному ключу. Первичный ключ - главный атрибут физической записи. По его значению идентифицируется физическая запись. До тех пор, пока это возможно, записи хранятся в той же логической последовательности, что и индекс (отсюда и название "индексно-последовательный метод доступа").

Приведём пример таблицы индексов и их связи с имеющимися файлами данных, согласно варианта.

Таблица 4. Таблица индексного файла "ТОВАР" для индексно-последовательного метода доступа.

Примечание (Доходя через индексы к файлу данных, посредством самого индекса считывается наименование товара и далее вся информация по полям находящаяся в записи, согласно таблицы ТОВАР).

Индексный файл

Блок 7

Значение Ключа

Номер Блока

Файл данных Блок 1

10

1

01

15

2

05

Индексный файл

10

Блок 10

Блок 2

Значение

Номер

11

Ключа

Блока

15

15

7

25

8

Блок 3

35

9

Блок 8

16

Индекс 2-го уровня

Значение

Номер

20

Ключа

Блока

20

3

25

4

Блок 4

21

25

Блок 5

Блок 9

26

Значение

Номер

30

Ключа

Блока

30

5

Блок 6

35

6

31

Индекс 1-го уровня

35

Форма “ГЛАВНАЯ КНОПОЧНАЯ ФОРМА”

Option Compare Database

Option Explicit

Private Sub Form_Open(Cancel As Integer)

' Свертывание окна базы данных, инициализация формы.

' Переход на страницу кнопочной формы, отмеченную для использования по умолчанию.

Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'по умолчанию' "

Me.FilterOn = True

End Sub

Private Sub Form_Current()

' Обновление заголовка и заполнение списка команд.

Me.Caption = Nz(Me![ItemText], "")

FillOptions

End Sub

Private Sub FillOptions()

' Заполнение команд для страницы кнопочной формы.

' Число кнопок в форме.

Const conNumButtons = 8

Dim dbs As Database

Dim rst As Recordset

Dim strSQL As String

Dim intOption As Integer

' Установка фокуса на первую кнопку формы, скрытие всех кнопок формы, кроме первой.

' Поле с фокусом скрыть нельзя.

Me![Option1].SetFocus

For intOption = 2 To conNumButtons

Me("Option" & intOption).Visible = False

Me("OptionLabel" & intOption).Visible = False

Next intOption

' Открытие таб. элементов кнопочной формы, поиск первого элемента текущей страницы формы.

Set dbs = CurrentDb()

strSQL = "SELECT * FROM [Элементы кнопочной формы]"

strSQL = strSQL & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]

strSQL = strSQL & " ORDER BY [ItemNumber];"

Set rst = dbs.OpenRecordset(strSQL)

' Вывод сообщения при отсутствии элементов на странице кнопочной формы.

' В остальных случаях - заполнение страницы элементами.

If (rst.EOF) Then

Me![OptionLabel1].Caption = "Элементы кнопочной формы отсутствуют"

Else

While (Not (rst.EOF))

Me("Option" & rst![ItemNumber]).Visible = True

Me("OptionLabel" & rst![ItemNumber]).Visible = True

Me("OptionLabel" & rst![ItemNumber]).Caption = rst![ItemText]

rst.MoveNext

Wend

End If

' Закрытие набора записей и базы данных.

rst.Close

dbs.Close

End Sub

Private Function HandleButtonClick(intBtn As Integer)

' Эта функ. вызывается при нажатии кнопки. Аргумент intBtn указывает, какая кнопка была нажата.

' Константы для выполняемых команд.

Const conCmdGotoSwitchboard = 1

Const conCmdOpenFormAdd = 2

Const conCmdOpenFormBrowse = 3

Const conCmdOpenReport = 4

Const conCmdCustomizeSwitchboard = 5

Const conCmdExitApplication = 6

Const conCmdRunMacro = 7

Const conCmdRunCode = 8

' Особая ошибка.

Const conErrDoCmdCancelled = 2501

Dim dbs As Database

Dim rst As Recordset

On Error GoTo HandleButtonClick_Err

' Поиск записи, соответствующей нажатой кнопке, в таблице элементов кнопочной формы.

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Элементы кнопочной формы", dbOpenDynaset)

rst.FindFirst "[SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn

' Если нужная запись не найдена, вывод сообщения об ошибке и выход из функции.

If (rst.NoMatch) Then

MsgBox "Ошибка при чтении таблицы элементов кнопочной формы."

rst.Close

dbs.Close

Exit Function

End If

Select Case rst![Command]

' Переход к другой кнопочной форме.

Case conCmdGotoSwitchboard

Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rst![Argument]

' Открытие формы в режиме добавления записей.

Case conCmdOpenFormAdd

DoCmd.OpenForm rst![Argument], , , , acAdd

' Открытие формы.

Case conCmdOpenFormBrowse

DoCmd.OpenForm rst![Argument]

' Открытие отчета.

Case conCmdOpenReport

DoCmd.OpenReport rst![Argument], acPreview

' Настройка кнопочной формы.

Case conCmdCustomizeSwitchboard

' Обработка ситуации, когда диспетчер

' кнопочных форм не установлен

' (например, при сокращенной установке).

On Error Resume Next

Application.Run "WZMAIN80.sbm_Entry"

If (Err <> 0) Then MsgBox "Команда недоступна."

On Error GoTo 0

' Обновление формы.

Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'по умолчанию' "

Me.Caption = Nz(Me![ItemText], "")

FillOptions

' Выход из приложения.

Case conCmdExitApplication

CloseCurrentDatabase

' Запуск макроса.

Case conCmdRunMacro

DoCmd.RunMacro rst![Argument]

' Выполнение программы.

Case conCmdRunCode

Application.Run rst![Argument]

' Другие команды не поддерживаются.

Case Else

MsgBox "Неизвестная команда."

End Select

' Закрытие набора записей и базы данных.

rst.Close

dbs.Close

HandleButtonClick_Exit:

Exit Function

HandleButtonClick_Err:

' Если выполнение прервано пользователем, сообщение об ошибке не выводится.

' Вместо этого выполнение продолжается со следующей строки.

If (Err = conErrDoCmdCancelled) Then

Resume Next

Else

MsgBox "Ошибка при выполнении команды.", vbCritical

Resume HandleButtonClick_Exit

End If

End Function

Форма “ЗАКАЗЧИК”

Option Compare Database

Option Explicit

Private Sub Кнопка18_Click()

On Error GoTo Err_Кнопка18_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Кнопка18_Click:

Exit Sub

Err_Кнопка18_Click:

MsgBox Err.Description

Resume Exit_Кнопка18_Click

End Sub

Private Sub Кнопка20_Click()

On Error GoTo Err_Кнопка20_Click

Dim stDocName As String

stDocName = "Запрос2"

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка20_Click:

Exit Sub

Err_Кнопка20_Click:

MsgBox Err.Description

Resume Exit_Кнопка20_Click

End Sub

Private Sub Кнопка33_Click()

On Error GoTo Err_Кнопка33_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Товары"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка33_Click:

Exit Sub

Err_Кнопка33_Click:

MsgBox Err.Description

Resume Exit_Кнопка33_Click

End Sub

Sub ПолеСоСписком34_AfterUpdate()

' Поиск записи, соответствующей этому элементу управления.

Me.RecordsetClone.FindFirst "[Name_zakaz] = '" & Me![ПолеСоСписком34] & "'"

Me.Bookmark = Me.RecordsetClone.Bookmark

End Sub

Форма “ПОСТАВЩИК”

Option Compare Database

Option Explicit

Private Sub Кнопка18_Click()

On Error GoTo Err_Кнопка18_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Кнопка18_Click:

Exit Sub

Err_Кнопка18_Click:

MsgBox Err.Description

Resume Exit_Кнопка18_Click

End Sub

Private Sub Кнопка20_Click()

On Error GoTo Err_Кнопка20_Click

Dim stDocName As String

stDocName = "Запрос1"

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка20_Click:

Exit Sub

Err_Кнопка20_Click:

MsgBox Err.Description

Resume Exit_Кнопка20_Click

End Sub

Форма “ТОВАР”

Option Compare Database

Option Explicit

Sub ПолеСоСписком18_AfterUpdate()

' Поиск записи, соответствующей этому элементу управления.

Me.RecordsetClone.FindFirst "[Name_tovar] = '" & Me![ПолеСоСписком18] & "'"

Me.Bookmark = Me.RecordsetClone.Bookmark

End Sub

Private Sub Кнопка25_Click()

On Error GoTo Err_Кнопка25_Click

DoCmd.Close

Exit_Кнопка25_Click:

Exit Sub

Err_Кнопка25_Click:

MsgBox Err.Description

Resume Exit_Кнопка25_Click

Характеристики

Тип файла
Документ
Размер
6,12 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее