2010-11-30 26 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でレコードセットを使用しないでください。古いコードとの下位互換性のために存在します。 datareaders/datasetsに移動します。また、 'Set'キーワードは、それがasp classicで行ったのと同じことを意味するものではなく、おそらくそれを避けるべきです。 –

答えて

0

私はこれがウェブページ用であると推測しています。その場合、ページがイベントを処理するたびに、ページのタイプの全く新しいインスタンスで作業しています。つまり、関数が呼び出されるたびに、そのコードが別のオブジェクトを指していることで、あなたは「私」の参照になります。

+0

申し訳ありませんが、このコードがMicrosoft Access 2007に適用されていることを忘れています。さらに、フォームを開いてボタンを再度クリックすると、次の番号が表示されます。レコードセットが空になったときにのみ機能します。 – Clifford

関連する問題