-
Доброго времени суток.
Есть форма с DBGrid'ом и БД на Access'е. Подскажите, как отловить значение конкретного столбца (ID) в последней добавленной строке? Мне необходимо как-то это значение присвоить переменной.
Заранее спасибо.
-
1) Сколько пользователей одновременно работают с базой?
2) ID - автоинкремент?
3) Есть ли уникальные поля в редактируемой таблице?
-
1. Один пользователь.
2. Да, ID это счетчик (автоинкремент).
3. По сути ID это и есть уникальное поле.
-
В чем необходимость использовать ID добавленной строки?
Может, подойдет ID выбранной пользователем?
-
В каждой из двух таблиц есть ID. Они связываются в третьей таблице. ID первого события я ловлю, а со вторым никак. Попробую объяснить задачу:
есть два ДБГрида. в одном выбираю строчку (тут я ловлю ID из первой таблицы), в новом окне ввожу данные, которые после нажатия кнопки Добавить заносятся во вторую таблицу. Плюс сразу же долно происходить связывание выбранной записи и добавленной вновь. вот для этого и надо ловить ID втрой таблицы. если есть какие то мысли - буду очень благодарен, сам никак не дойду до решения (новичок).
надеюсь не сильно запутал :-(
-
не совсем понял что значит "ловить id", если интересует последний добавленный то так:
Select @@Identity
Возвращает последний добавленный id в текущей сессии
-
Попробую еще раз пояснить:
Не "лови" ID - пускай пользователь сам выбирает записи.
ID бери из текущей записи таблицы, а не ищи "добавленную только что".
Если же ты хочешь, чтобы пользователь мог ввести данные в отдельной формочке, и эту, только что введенную запись, хочешь сделать текущей выбранной (а для этого узнать уникальный её ID) - добавь колонку для своего уникального идентификатора, записывай туда GUID, и находи после вставки записи её ID по GUID'у
-
> Cobalt (16.03.2012 17:30:06) [6]
У Акцесса нет никакой проблемы с узнаванием ИД
-
попробую объяснить еще раз.
есть три таблицы:
1. бла-бла-бла... C_ID...
2. бла-бла-бла... A_ID...
3. в которой два поля всего (A_ID и C_ID). Она нужна для привязки определенного элемента из первой таблицы и определенного элемента из второй таблицы.
Есть первый Грид на форме. Туда подгружаются данные из первой таблицы.
Есть второй Грид на форме. Туда подгружаются данные после того, как пользователь выберет что-то в первом гриде (происходит обращение в третью таблицу и проверяется связка C_ID и A_ID).
Но, например, когда пользователь выделяет что-то в первом гриде (тут я уже знаю конкретный C_ID), он может добавить СВЯЗАННУЮ С ВЫБРАННОЙ запись во вторую таблицу. Для связи я в третью таблицу заношу C_ID, который узнаю на момент выделения записи в первом гриде. А вот как узнать A_ID я не понимаю, ведь пока пользователь не добавил запись во вторую таблицу A_ID для связи еще не существует...
-
Так сообщи пользователю, что ему вначале надо выбрать запись :)
-
т.е. у вас один автомобиль может принадлежать нескольким человекам? :)
-
> т.е. у вас один автомобиль может принадлежать нескольким
> человекам? :)
наоборот
> Так сообщи пользователю, что ему вначале надо выбрать запись
> :)
пользователь по условию задачи не должен ничего выбирать лишний раз. То есть он жмет на человеке "добавить авто" и добавляет.
-
Повторюсь еще раз:
в добавляемой записи указывай уникальный идентификатор, по которому ты сможешь точно определить ID записи, а не искать некую "только что добавленную запись"