
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.05.2009, 13:14
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
Здравствуйте, Есть таблица Access с полями Ключ, ФИО (0001, Иванов Иван Иванович). Как программно узнать свободное значение ключа? Например значения такие: 0001, 0002, 0004, 0005. При добавлении новой записи, хотелось бы чтобы не к максимальному (0005) прибавить 1 для значения следующей записи, а сначала если есть свободное значение (0003). Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 13:21
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
в акцессе , только добавление новой записи и выполнения потом запроса примерно такого: Код: plaintext ID - поле автоинкремент ЗЫ а вообще вам лучше свой синтетический ключ сделать, раз вы такие вопросы задаете. не трогайте поле ключа, он не для целей нумерации документов =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 13:39
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
Спасибо Konst_One, я знаю как определить следующее максимальное значение. Но мне надо сначала определить свободное значение из имеющихся значений (0001, 0002, 0004, 0005). 0003!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 14:04
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. PS: но так лучше не делать что произойдет, если сразу несколько пользователей захотят добавить новую запись? у меня подобные случаи были, полный п...ец I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:11
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
HandKot, таблица одна и поле текстовое (хранит коды абонентов: 0001, 0002) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:15
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
мда, проектировщик ... надеюсь хоть добавление/обновление/удаление данных этой таблицы происходит через отдельные команды, тогда еще что-то можно придумать, а если прям в табличной форме, то ковыряться вам с событиями OnRowChange и тп на форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:25
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
Konst_Oneмда, проектировщик ... надеюсь хоть добавление/обновление/удаление данных этой таблицы происходит через отдельные команды, тогда еще что-то можно придумать, а если прям в табличной форме, то ковыряться вам с событиями OnRowChange и тп на форме 1) Data1.Recordset.AddNew 2) Data1.Recordset.Update 3) Data1.Recordset.Delete Этими командами выполняю добавление/обновление/удаление данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:27
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
вот перед этими действиями и ищите дырки в нумерации по вашему полю в клонированном рекордсете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:34
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
Искать дырки с помощью цикла /for next/? А можно получить это значение с помощью запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2009, 15:36
|
|||
|---|---|---|---|
Как получить свободное значение ключа? |
|||
|
#18+
запрос выше уже вам дали, добавьте туда преобразование своего поля к цифровому типу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&tablet=1&tid=2161065]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 375ms |

| 0 / 0 |
