bu yol genel olarak kullanılan yol değildir
doğrusu budur kodun ilgili kısmını aynen değiştir
Kod:
Private Sub Form_Current()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
'son kayda gitki toplam kaydı alabilleeim
rst.MoveLast
' rst nin bu formun kayıtlarına dayandığını belirtiyoruz
rst.Bookmark = Me.Bookmark
Me.txtToplamKayit = Me.CurrentRecord & " de " & rst.RecordCount[hr]
aslında doğru navigation kodu bu şekilde olmalı
Private Sub Form_Current()
Dim rst As DAO.Recordset
On Error GoTo ERRORForm_Current
Dim strErrMsg As String
' default olarak düğmelerin durumu
Me.ilk.Enabled = True
Me.önceki.Enabled = True
Me.sonraki.Enabled = True
Me.son.Enabled = True
Set rst = Me.RecordsetClone
rst.MoveLast
rst.Bookmark = Me.Bookmark
If rst.AbsolutePosition = 0 Then
Me.ilk.Enabled = False
Me.önceki.Enabled = False
End If
If Me.CurrentRecord >= Me.RecordsetClone.RecordCount Then
Me.sonraki.Enabled = False
Me.son.Enabled = False
End If
Me.kayitno.Caption = Me.CurrentRecord & " de " & rst.RecordCount
rst.Close
Set rst = Nothing
ERRORForm_Current_exit:
On Error Resume Next
Exit Sub
ERRORForm_Current:
Select Case Err
Case 3021
Resume Next
Case Else
strErrMsg = strErrMsg & "Error #: " & Format$(Err.Number) & vbCrLf
strErrMsg = strErrMsg & "Error Description: " & Err.Description
MsgBox strErrMsg, vbInformation, "Kayda gidiyorsun"
Resume ERRORForm_Current_exit
End Select
End Sub
Private Sub ilk_Click()
On Error GoTo Err_ilk_Click
Me.Recordset.MoveFirst
Exit_ilk_Click:
Exit Sub
Err_ilk_Click:
MsgBox Err.Description
Resume Exit_ilk_Click
End Sub
Private Sub önceki_Click()
On Error GoTo Err_önceki_Click
Me.Recordset.MovePrevious
Exit_önceki_Click:
Exit Sub
Err_önceki_Click:
MsgBox Err.Description
Resume Exit_önceki_Click
End Sub
Private Sub sonraki_Click()
On Error GoTo Err_sonraki_Click
Me.Recordset.MoveNext
Exit_sonraki_Click:
Exit Sub
Err_sonraki_Click:
MsgBox Err.Description
Resume Exit_sonraki_Click
End Sub
Private Sub son_Click()
On Error GoTo Err_son_Click
Me.Recordset.MoveLast
Exit_son_Click:
Exit Sub
Err_son_Click:
MsgBox Err.Description
Resume Exit_son_Click
End Sub
Private Sub cmdNew_Click()
On Error GoTo Err_cmdNew_Click
DoCmd.GoToRecord , , acNewRec
Exit_cmdNew_Click:
Exit Sub
Err_cmdNew_Click:
MsgBox Err.Description
Resume Exit_cmdNew_Click
End Sub
Private Sub cmdClose_Click()
On Error GoTo Err_cmdClose_Click
DoCmd.Close
Exit_cmdClose_Click:
Exit Sub
Err_cmdClose_Click:
MsgBox Err.Description
Resume Exit_cmdClose_Click
End Sub
Private Sub cmdDelete_Click()
On Error GoTo Err_cmdDelete_Click
If MsgBox("kayıt silinecekmi?", vbYesNo + vbDefaultButton2, "Not!") = vbNo Then
Exit Sub
End If
Me.Recordset.Delete
Me.Requery
MsgBox "Uyarı", , "Kayıt silindi"
Exit_cmdDelete_Click:
Exit Sub
Err_cmdDelete_Click:
Select Case Err
Case 3021
MsgBox "böyle bir kayıtyok"
Resume Exit_cmdDelete_Click
Case Else
Dim msgStr As String
msgStr = CStr(Err) & " " & Description
MsgBox msgStr
Resume Exit_cmdDelete_Click
End Select
End Sub
meşhur çin atasözü "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla
Son Düzenleme: 22/04/2009, 18:57, Düzenleyen: esrefigit.