Добавляем новую запись

Поскольку все действия, которые необходимо произвести, уже однажды делались, необходимости в подробных объяснениях больше нет. Наконец-то можно излагать только суть, не вдаваясь в утомительные подробности.

Итак, необходимо добавить еще одного человека. Имеется меню и две формы. Куда ставить кнопку?

Лучше всего на первую форму, где можно видеть фамилии, и потому есть уверенность, что этот человек не попадет в базу повторно. Кроме того, там есть кнопка выбора, и будет кнопка удаления. Вполне логично делать все в одном месте.

Создав дополнительную кнопку, нужно присвоить:

свойству Caption значение "Добавить"
свойству Name значение dobav_zap
свойству Click значение DO progs\nevzap



Можно не делать отдельный программный файл для добавления новой записи, но тогда будет сложнее выполнить ее добавление из другого места программы.

Приводимый здесь пример имеет очень много недостатков.

Во-первых, ключевое поле формируется исключительно на основании генератора случайных чисел, а они никогда не бывают абсолютно случайными. Обычно для их работы используется системный таймер, а часы, как вы знаете, любят показывать одно и то же время.

Во-вторых, проверка на уникальность кода спасает только при однопользовательской работе. Пока она производится, ничто не мешает другому компьютеру натолкнуться на то же число, проверить его, и попытаться использовать. Но такая вероятность крайне мала, и ей можно пренебречь.

В-третьих, проверка ключа производится в бесконечном цикле, из которого не предусмотрено другого выхода, кроме успешного завершения операции. Это может в каких-то условиях привести к зависанию программы.

В-четвертых, запись добавляется прямо в базу. Если оператор раздумает продолжать работу, пустая запись так там и останется. Ее можно удалить, но она по-прежнему будет засорять базу.

Наверное, достаточно, смотрим программу



В первых двух строках производится выбор первой рабочей области, где открыта таблица fio, и в качестве рабочего индекса устанавливается "по коду", поскольку именно код мы и будем проверять.

Затем генерируется ключ. Случайное число, которое всегда меньше нуля, множится на 10 в десятой степени, чтобы получить десятизначное целое число. Затем это число преобразуется в символьную строку, с ней работать предпочтительнее.

Далее идет проверка, которую спокойно можно исключить из программы.

В следующей группе из четырех команд

в таблицу добавляется пустая строка
в предназначенное для индексирования поле kod записывается сгенерированный ключ
определяется номер текущей записи
открывается форма для ввода данных

Последняя команда переключает режим сортировки в более удобный для человека алфавитный режим.


 
К оглавлениюк следующей статье