2010-11-30 1 views
0

누구든지 도와 줄 수 있습니까? 단추를 클릭 할 때 사용자 정의 자동 번호를 수행하려고합니다. 레코드 세트가 비어있을 때 코드가 제대로 작동하지만 첫 번째 레코드에서 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에서 레코드 세트를 사용하지 마십시오. 이전 코드와의 하위 호환성을 위해 존재합니다. 데이터 보관소/데이터 세트로 이동하십시오. 또한'Set' 키워드는 asp classic에서했던 것과 똑같은 것을 의미하지 않으며 아마도 그것을 피하는 것이 좋습니다. –

답변

0

나는 이것이 웹 페이지를위한 것이라고 생각합니다. 그렇다면 페이지가 이벤트를 처리 할 때마다 페이지 유형의 완전히 새로운 인스턴스로 작업하고있는 것입니다. 즉, 함수가 호출 될 때마다 코드가 다른 객체를 가리키는 "Me"참조가됩니다.

+0

죄송합니다.이 코드는 Microsoft Access 2007에 적용됩니다. 또한 양식을 다시 열고 단추를 다시 클릭하면 다음 번호를 알려줍니다. 레코드 세트가 비어있을 때만 작동하지 않습니다. – Clifford