|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.12.2012, 12:28 | #1 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 23
|
Создание уникального ID для новой записи
Доброго время суток. Необходимо создать электронный каталог, в котором нужно чтобы при записи пользователя номер присваивался автоматически.
Пробую способ с помощью создания ID-таблицы. Имеется база данных в Access, где используется таблица Data- Данные пользователя. Создала дополнительную таблицу, ID-таблицу с двумя полями: Table Name (первичный ключ) Last Id N в обработчике события таблицы BeforePost таблицы Data , поместила следующий код Код:
Может кто - то подскажет другой способ создания уникального номера для записи. Буду благодарна за помощь. Последний раз редактировалось artemavd; 03.12.2012 в 17:37. |
03.12.2012, 13:55 | #2 | |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Цитата:
|
|
03.12.2012, 14:45 | #3 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 23
|
Сделала, дополнительное поле id автоинкрементным, с первичным ключем все равно ругается, та же ошибка...
|
03.12.2012, 14:56 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для автоинкремента и не надо программно ключ формировать, он автоматически создается при вставке новой записи.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.12.2012, 15:11 | #5 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 23
|
Я понимаю, что автоинкрементное поле создает автоматически новую запись с номером. Может я неправильно объяснила поставленную задачу.
Суть задачи в чем: каждый новый год в электронный каталог нужно вносить читателя, запись читателя должна вносится автоматически, 1, 2.... 15. и т.д. Со следующего года приходят новые читатели и остаются старые, следовательно должна быть перерегистрация старых и внесение в электронный каталог новых. Автоинкрементное поля для этого не подходит, т. к при удалении записи нарушается счет, поэтому и пробовала создавать новую таблицу для занесения уникального номера под которым можно вставить запись читателя в таблицу. Аналог моего примера - http://www.sd-company.su/sd_base_xp/.../delphi_id.php. Последний раз редактировалось puma; 03.12.2012 в 15:27. |
03.12.2012, 15:36 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
IDTable.FindKey([Name])
IDTable какого типа? Не у всех таких компонент есть метод FindKey Name - где определено, какое значение? Вообще-то здесь по вашей логике должно быть имя таблицы, что-нибудь наподобие 'Table1'
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.12.2012, 15:53 | #7 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 23
|
IDTable - это дополнительная таблица а Name - это поле в таблице
|
03.12.2012, 16:05 | #8 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
||
03.12.2012, 16:22 | #9 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 23
|
Не могу понять.... Подскажите, пожалуйста как правильно реализовать поиск и внести запись с уникальным id....
|
03.12.2012, 17:48 | #10 | |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Цитата:
А для идентификации совершенно неважно по порядку ли идут идентификационные номера - главное чтобы они были уникальны в пределах таблицы. Именно за это и будет отвечать поле ID, созданное как первичный ключ. Автоинкремент лишь облегчит генерацию уникального значения ключа, ибо он осуществляется вне контекста транзакций. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с созданием новой записи | Malgor | БД в Delphi | 1 | 16.07.2012 08:25 |
Создание кнопки для сохранения записи | Dmitriy_Egorov | Microsoft Office Access | 11 | 29.09.2011 23:19 |
Создание новой записи в подчиненной форме | serega1576 | Microsoft Office Access | 2 | 16.09.2011 05:56 |
Как получить ID для новой записи с использованием триггеров?(Firebird) | Paul Hindenburg | БД в Delphi | 20 | 01.06.2008 16:39 |
Создание новой записи | Gerox | БД в Delphi | 3 | 30.12.2007 14:22 |