powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать номер автоинкремента?
7 сообщений из 7, страница 1 из 1
Как узнать номер автоинкремента?
    #32484218
disa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот этот код работал на xp, но на 95 перестал...может быть можно иначе узнать?


Previous  Top  Next 
We have a table in MsAccess like :
Test, Fields (id=autoinc, name=text);
First we have to have a function like the one below :
function GetLastInsertID: integer;
begin
  // datResult = TADODataSet
  datResult.Active := False;
  datResult.CommandText := 'select @@IDENTITY as [ID]';
  datResult.Active := True;
  Result := datResult.FieldByName('id').AsInteger;
  datResult.Active := False;
end;
Now before getting the last inserted record record id = autoincrement field, in other words calling the above function. You have to do a SQL insert like the following
procedure InsertRec;
begin
  // datCommand = TADOCommand
  datCommand.CommandText := 'insert into [test] ( [name] ) values ( "Test" )';
  datCommand.Execute;
end;
Now if we like to know which is the last autoinc value ( notice that the getlastinsertid proc. only works after the insertrec proc)
procedure Test;
begin
  InsertRec;
  Showmessage(format('lastinsertid : %d', [GetLastInsertID]));
end;
Hope you can make this work, it works for me, any questions feel free to ask
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484245
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XP и 95 - это версии Windows или Access?
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484247
disa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XP и 95 Access я хотел сказать....та функция с 95 возращает все время 0...
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484259
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 95 нет @@IDENTITY ;)
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484268
disa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что есть? я в базах просто не очень силен...
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484276
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делается примерно таким образом:

Код: plaintext
1.
2.
3.
4.
5.
datCommand.CommandText := 'insert into [test] ( [name] ) values ( "Test" )'; 
 datCommand.Execute; 
datResult.CommandText := 'select Max(ID) as MaxID from Test'; 
  datResult.Active := True; 
  Result := datResult.FieldByName('MaxID').AsInteger; 
  datResult.Active := False; 


ID - это имя поля которое содержит AutoNumber
...
Рейтинг: 0 / 0
Как узнать номер автоинкремента?
    #32484283
disa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасиб, сейчас попробую...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать номер автоинкремента?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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