2015-10-01 3 views
0

Я ищу способ открыть форму на новой записи после нажатия кнопки. Все, что я могу сделать, это открыть его (новый), но запись фактически не создается до тех пор, пока текст не будет введен. Я бы хотел, чтобы он фактически открыл новую запись с новым идентификатором (первичный ключ). Мне нужен этот идентификатор для некоторых других функций, которые происходят до того, как пользователь вводит новые данные в форму. Заранее спасибо!Открыть новую запись в доступе

ответ

1

Я бы вставлял запись в данную таблицу, используя SQL или DAO или ADO, а затем открывал форму для редактирования данной записи.

Пример для вставки строки с помощью SQL:

Dim query As String 
Dim newRow As Integer 
query = "INSERT INTO Table (fieldname) VALUES (null);" 
newRow = CurrentDb.Execute(query) 

Однако, ваш подход имеет недостаток: если пользователь отказывается от редактирования записи, вы застряли с пустой записью. Я предпочел бы переоценить подход и будет запускать любой код, который использует идентификатор новой записи, после того как я уверен, что пользователь хочет создать новую запись.

+0

Спасибо, что входите! Моя проблема заключается в том, что конечный пользователь хотел бы иметь возможность копировать часть старой записи в новую запись, чтобы избежать повторного набора. Они выполняют поиск через подчиненную форму и запрос и нажимают кнопку, а некоторые поля копируются в новую запись, и если они совершают ошибку, выполняйте поиск и копируйте другую запись. Единственный способ, которым я смог получить это, - это выполнить запрос на обновление. У меня должен быть новый рекорд, который уже открыт для этого. Есть лучший способ сделать это? – MDeck

+0

В этом случае я бы использовал несвязанную форму для отображения скопированных данных. Таким образом, вы можете избежать необходимости создания записи без необходимости. Если пользователи решили отказаться от новой записи, нет пустой записи. Если пользователи решают сохранить запись, вы можете использовать SQL или ADO или DAO для сохранения данных формы в таблице. – Shadow