2014-08-28 3 views
0

Я пытаюсь найти обход проблемы #Deleted при добавлении новых записей в MS Access перед выходом в базу данных MYSQL. Я пытаюсь сделать это с помощью этого VBA:#Добавлено в интерфейсе MS Access в базу данных MYSQL

Private Sub Surname_AfterUpdate() 
DoCmd.RunCommand acCmdSaveRecord 
Me.Refresh 
Dim rs As DAO.Recordset 
    Dim pk As Long 

    pk = Me.ID 
    Me.Requery 
    Set rs = Me.RecordsetClone 
    rs.FindFirst "[ID]=" & pk 
    Me.Bookmark = rs.Bookmark 
    Set rs = Nothing 



End Sub 

С этим я пытаюсь получить настоящий ID, сохранить его в закладки, сохранить и обновить и вернуться к ID закладкой.

Однако, как будто VBA не может найти идентификатор, поскольку он еще не передан в базу данных, и поэтому я получаю сообщение об ошибке, например, «недопустимое использование null».

Я также попытался добавить TIMESTAMP и т.д., чтобы не увенчались успехом - по-прежнему получать #Deleted ...

Pls помощь.

благодаря

Elton

+0

в форме после события вставки вы можете попробовать эту команду me.recordSource = me.recourdSource, это имеет тот же эффект, что и me.requery. Сортировка запроса, который последняя запись показывает первым, таким образом, ваша новая запись всегда наверху? –

ответ

0

Создать Проходной запрос в Access,

SELECT LAST_INSERT_ID(); 

Это будет иметь возможность получить последний вставленный идентификатор, который можно использовать для ссылки на запись. Надеюсь это поможет.

Смежные вопросы