powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как узнать следующий номер записи в таблице
17 сообщений из 17, страница 1 из 1
как узнать следующий номер записи в таблице
    #34131988
hamster_map
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуста кто знает

если через запрос получаем отсоединенный набор
то как узнать под каким номером будет добавлена запись если ключ - счетчик

т.е. как узнать номер???
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132092
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если я правильно понял, то наверно запросом получить ключ в убывающем порядке, и добавить единичку к первой записи, т.е. если например есть таблица
Код: plaintext
1.
2.
3.
4.
5.
TableA
--------
ID           Value
 5              A
 6              B
 7              C
где ID - ключ, то например
Код: plaintext
1.
rsTempQry.Open "SELECT ID FROM TableA AS LastID ORDER BY ID DESC"
lngNewID=rsTempQry.Fields("LastID").Value+ 1 
верно?
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132250
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekесли я правильно понял, то наверно запросом получить ключ в убывающем порядке, и добавить единичку к первой записи, т.е. если например есть таблица
Код: plaintext
1.
2.
3.
4.
5.
TableA
--------
ID           Value
 5              A
 6              B
 7              C
где ID - ключ, то например
Код: plaintext
1.
rsTempQry.Open "SELECT ID FROM TableA AS LastID ORDER BY ID DESC"
lngNewID=rsTempQry.Fields("LastID").Value+ 1 
верно?
тогда уж
Код: plaintext
1.
rsTempQry.Open "SELECT MAX(ID) AS LastID FROM TableA"
lngNewID=rsTempQry.Fields("LastID").Value+ 1 
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132265
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если базой пользуются несколько клиентов, то неверно. Вруг, пока рекордсет был отсоединен, кто-то уже добавил запись?
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132319
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЕсли базой пользуются несколько клиентов, то неверно. Вруг, пока рекордсет был отсоединен, кто-то уже добавил запись?
а тогда каким методом определить?
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132361
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никаким. Пока запись не добавишь, не узнаешь ее идентификатор.
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132388
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможные способы(возможно и ошибка в синтаксисе):
1) cmd.Execute "Insert into table a (field1,field2) values (@a1,@a2) Select @@identity"
вставляет данные и тут же возвращает идентити, так как выполняется в одном пакете
2) отказаться от идентити, и использовать guid. Для вставки новой информации в несколько таблиц генерируется GUID а потом этот GUID вставляется сразу во все таблицы
Второй способ оказался гораздо удобнее для двух синхронизируемых БД
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132418
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по тому, что hamster_mapключ - счетчик, база - Access, оба способа не подойдут. Однако можно запустить транзакцию, проапдейтить добавленные записи, они получат идентификаторы, а потом отменить транзакцию. Или не отменяя провести остальные действия (если их не много) и подтвердить.

А вообще, автор, не желаешь ли сообщить, для чего тебе нужен идентификатор будущей записи?
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132562
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пологаю, он хочет сделать что-то:
1. Парсить таблицу на 2 и более
2. Добавить записи в таблицу, у которой имеется связь с внешней таблицей
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132719
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНикаким. Пока запись не добавишь, не узнаешь ее идентификатор.
думаю этот метод более-менее сойдет, но наверно лучше если автор скажет для чего это ему нужно, может найдем другие варианты решения проблемы
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132749
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО все-же лучше поставить SQL сервер (например Express Edition) и не выдумывать велосипед по ловле IDENTITY
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132878
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ на вопрос зависит типа применяемой блокировки.
Если это устраивает, то что транзакция начинается при открытии формы редактирования записей и действует после закрытия ее, то надо лишь подсоединить рекордсет, выполнить UpdateButch, потом Resinq.
В другом случае это будет автономная блокировка и с полями-счетчиками не получится (т.е. без начала транзакции при открытии формы).
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34132883
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел написать ...и действует до закрытия формы... (транзакция)
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34133093
hamster_map
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть база
из неё вытасеиваются данные в несколько наборов
некоторые простые для создания списков вобора (такиеже как сама таблица)
некоторые соединяют несколько таблиц в том числе и объединение через "union"

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

т.е. эти числа нужны в самом начале чтобы потом не мучаться с их подбором

по завершению программы она просто просматривает список изменнений
(отдельный набор записей существующий только при работе программы)
и по очереди выполняет каждое из них

p/s/
а узнавать последний максимальный +1 это не верно...
ведь может быть так что записей было 100 и 99 последних удалено
в таком случае будет выдано число 2 а не 101 он ведь счетчик

p/s/
если узнать нельзя то сделаю пожалуй простые числовые поля
или же можно сделать маленькую табличку в которой хранится последний максимальный код
т.е. что то вроде истории

p/s/ пока что прога находится в монопольном доступе
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34133127
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо использовать "оракловый способ".
Создать таблицу с полями "Table", "PK"
Каждая строчка содержит имя таблицы и значение ее ключа.
Работать с ней лучше через отдельный коннекшн.
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34133323
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hamster_map: а использовать в качестве идентификатора GUID религия не позволяет?
...
Рейтинг: 0 / 0
как узнать следующий номер записи в таблице
    #34133930
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUID должна СУБД поддерживать.
Какие СУБД могут работать с 12-байтным ключом?
Или тут делают char ?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как узнать следующий номер записи в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]