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

start [/forum/topic.php?fid=60&msg=35969809&tid=2161065]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 431ms |

| 0 / 0 |
