Удаление записи с установкой на последнюю запись
Удаление записи с установкой на последнюю запись
В каждой форме базы данных Контрольно-измерительные приборы созданы две дополнительные кнопки: Изменить запись и Удалить запись (см. рис. 12.15).
Рис. 12.15
В этом разделе будет рассмотрена процедура, на которой основано действие кнопки Удалить запись.
В принципе удаление записи – совершенно рутинная операция. Она выполняется штатными средствами Access и не заслуживает особого внимания. Если в нашем случае для нее предусмотрена специальная кнопка, то лишь потому, что есть и вторая часть задачи – установка на последнюю запись. Это значит, что в программу следует добавить некоторые новые функции, чтобы показать новые возможности при использовании процедуры. Покажем это на примере формы Назначение. Как и во всех предыдущих случаях, выполнение процедуры привязано к событию Щелкнуть по кнопке в таблице свойств кнопки Командная кнопка – см. рис. 12.16. Далее следует выбрать опцию Удалить запись.
Как и раньше, с помощью кнопки
откройте окно модуля. Оно выглядит так же, как аналогичное окно, показанное на рис. 12.6. Процедура опять будет формироваться в окне модуля, но и на сей раз речь пойдет только о текстовых операторах.
Private Sub Удалить_запись_Click()
On Error GoTo Err_Назначение_Удалить_запись_Click
Dim Cod As Integer
…………………… Err_Назначение_Удалить_запись_Click:
MsgBox Err.Description
Resume Exit_Назначение_Удалить_запись_Click
End SubДалее вы блокируете вывод любых информационных сообщений, кроме сообщений об ошибках. Эту функцию выполняет программа МакросЗ (см. рис. 12.17). Чтобы запустить ее, выполните команду Установить сообщение, но в поле Аргументы команды укажите значение Нет, что и позволит блокировать вывод сообщений. Данная опция используется, когда пользователь не хочет, чтобы выполнение макроса прерывалось ради появления окон предупреждений. Однако сообщения об ошибках выводятся в любом случае. Кроме того, Microsoft Access выводит на экран все диалоговые окна, которые требуют от пользователя действий более сложных, чем щелчок по кнопке: например, когда надо ввести какой-либо текст или выбрать параметр из списка.
Макрос9 производит основную операцию – удаление записи. После этого выполняется цикл. Рассмотрим его подробнее.
При активной работе с БД может оказаться, что в какой-либо форме есть не одна, а несколько пустых записей. Например, вы нечаянно или с определенной целью не ввели в новую запись никаких данных, однако и не удалили ее. Щелкнув по кнопке Удалить запись, вы восстановите порядок, и все пустые записи будут уничтожены. Когда вы снова активизируете форму, она откроется на пустой записи, готовой к вводу информации.
Цикл имеет следующий синтаксис:A:
DoCmd.RunMacro «Макрос7»
If IsNull(Forms![Hазначение]![Hазначение] = "") = True Then
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
GoTo A
Else
End IfПрограмма Макрос7 осуществляет переход к последней записи. Затем уже знакомая нам логическая конструкция Then… If…Else (Если…То…Иначе) проверяет утверждение Forms![Hазначение]![Hазначение] = "". Иными словами, вы уточняете, есть ли в поле Назначение одноименной формы пустая строка. Проверка выполняется с помощью функции IsNull (), которая возвращает значение типа Boolean. Оно показывает, является ли результатом выражения пустое значение (Null). Синтаксис функции:
IsNull(выражение)
Итак, функция IsNull возвращает True (Истина), если выражение имеет значение Null, в противном случае – False (Ложь). Предположим, результатом проверки будет True: в записи обнаружена пустая строка. Тогда с помощью программы Макрос7 блокируется вывод сообщения, а оператор Макрос9 удаляет эту запись и осуществляет переход на метку А. Она повторяет описанные процедуры для следующей пустой записи, и так продолжается до тех пор, пока не выяснится, что подобных записей больше нет. Тогда цикл заканчивается и начинает выполняться следующая группа операторов:
DoCmd.RunMacro «Макрос1»
Cod = DMax(«[Kод]», «Назначение») + 1
Forms![Hазначение]![Kод] = [Cod]
DoCmd.RunMacro «Макрос29»Приведенный набор команд задает установку на последнюю пустую запись и определяет соответствующее значение для ее кода. (Подробно все это рассматривалось в предыдущем разделе.) Вот полный текст процедуры:
Private Sub Удалить_запись_Click()
On Error GoTo Err Назначение Удалить_запись_Click
Dim Cod As Integer
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
A:
DoCmd.RunMacro «Макрос7»
If IsNull(Forms![Hазначение]![Hазначение] = "") = True Then
DoCmd.RunMacro «МакросЗ»
DoCmd.RunMacro «Макрос9»
GoTo A
Else
End If
DoCmd.RunMacro «Макрос1»
Cod = DMax(«[]», «Назначение») + 1
Forms![Hазначение]![Kод] = [Cod]
DoCmd.RunMacro «Макрос29»
Exit_Назначение_Удалить_запись_Click:
Exit Sub
Err_Назначение_Удалить_запись_Click:
MsgBox Err.Description
Resume Exit_Назначение_Удалить_запись_Click
End SubБолее 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy()
14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy() Наконец, вы можете удалить элементы из дерева и, на системах GLIBC, удалить само дерево целиком:void *tdelete(const void *key, void **rootp,int (*compare)(const void*, const void*));/* Расширение GLIBC, в POSIX нет: */void tdestroy(void *root, void (*free_node)(void *nodep));Аргументы
В последнюю минуту
В последнюю минуту В начале 80-х годов из-за недальновидного руководства развитие вычислительной техники Рочестера стало спотыкаться. Однако у нас все еще было несколько хороших менеджеров, понимавших значение создаваемых систем. Этим людям приходилось поддерживать
(2.13) Нужно ли устанавливать Service Pack 1 перед установкой Service Pack 2?
(2.13) Нужно ли устанавливать Service Pack 1 перед установкой Service Pack 2? Hет, не нужно. Каждая последующая версия сервис-пака включает все апдейты и фиксы предыдущей версии, т.е. имеет накопительный (кумулятивный) характер. Таким образом, достаточно поставить только последнюю версию
Угроза получения учетной записи администратора с помощью учетной записи опытного пользователя
Угроза получения учетной записи администратора с помощью учетной записи опытного пользователя Как говорилось раньше, использование группы Опытные пользователи не приветствуется Microsoft, так как данная группа имеет очень многие права в системе. В этой главе хотелось бы
Вывод сообщения перед установкой
Вывод сообщения перед установкой Перед установкой INF-файла или после нее можно вывести окно сообщения с произвольным текстом. Диалог сообщения, выводимый перед установкой, позволяет эту установку отменить. Он содержит две кнопки — OK и Отмена. Если нажать кнопку Отмена,
3. Записи
3. Записи Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через
24.4. Проблемы с установкой программ
24.4. Проблемы с установкой программ Вы не можете установить программу? Сначала убедитесь, что вы пытаетесь установить именно DEB-пакет, а не RPM-пакет. Если вы пытаетесь установить DEB-пакет, сгенерированный из RPM-пакета, но у вас ничего не выходит, можете дальше и не пытаться —
Пример. Построение полилинии с установкой толщины
Пример. Построение полилинии с установкой толщины Постройте полилинию, изображенную на рис. 7.2. Рис. 7.2. Построение полилинии с установкой толщиныЗапустите команду PLINE, вызвав ее из падающего меню Draw ? Polyline или щелкнув на пиктограмме Polyline на панели инструментов Draw.
Установка на последнюю запись при открытии формы
Установка на последнюю запись при открытии формы В главе 11 уже упоминалось о том, что при активизации форма открывается на последней, еще пустой записи, чтобы пользователь не тратил время на поиски и мог сразу вводить новую информацию. Теперь рассмотрим программный
О чем нужно позаботиться перед установкой Windows XP в режиме Windows
О чем нужно позаботиться перед установкой Windows XP в режиме Windows Итак, на вашем жестком диске уже установлена одна из версий операционной системы Windows и вы хотите инсталлировать Windows XP. С чего начать? Прежде всего – вспомнить (выяснить), какая важная информация содержится на
1.10.9. Удаление пользовательской учетной записи
1.10.9. Удаление пользовательской учетной записи Правом удалять локальные учетные записи обладает администратор компьютера. Удаление происходит в окне Учетные записи (Accounts) следующим образом.1. Выделить необходимую учетную запись. Произвести щелчок мышью по знаку2. В