2010-11-30 8 views
0

Может ли кто-нибудь помочь мне здесь? Я пытаюсь сделать useron autonumber, когда я нажимаю на кнопку. Код работал нормально, когда набор записей пуст, он дает мне 1 в моей первой записи, однако, после того, как я снова нажму кнопку, он снова даст мне 1. Вот мой код.Мой код автономера не работает

Private Sub BtnNew_Click() 
    Dim rsClone As Recordset 
    Dim pVal As Integer 

    Set rsClone = Me.RecordsetClone 

    If Not (rsClone.BOF) Then 
     DoCmd.GoToRecord , , acNewRec 
     rsClone.MoveLast 
     pVal = rsClone.AbsolutePosition + 2 
     Me.CatgId.Value = pVal 
     Me.CatgId.SetFocus 
    Else 
     rsClone.AddNew 
     Me.CatgId.Value = 1 
     Me.CatgId.SetFocus 
    End If 
End Sub 

Спасибо за помощь.

+0

Не используйте записи в .Net. Они существуют для обратной совместимости с старым кодом. Перейдите к datareaders/наборам данных. Кроме того, ключевое слово `Set` не означает то же самое, что и в классическом стиле asp, и вам, вероятно, следует избегать этого. – 2010-11-30 05:09:10

ответ

0

Я предполагаю, что это для веб-страницы. Если это так, каждый раз, когда ваша страница обрабатывает какое-либо событие, вы работаете с совершенно новым экземпляром типа страницы. То есть вы являетесь ссылкой «Я» в этом коде, каждый раз, когда вызывается функция, указывает на другой объект.

+0

Извините, что я забыл упомянуть, что этот код применяется к Microsoft Access 2007. Кроме того, если я снова открываю форму и снова нажимаю кнопку, она дает мне следующий номер. Он не работает только при опустошении набора записей. – Clifford 2010-12-01 01:03:03

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