AccessTr.neT

Tam Versiyon: Her Yeni Kayıta Bastığımızda Sayı Verme Sorunu.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Merhaba arkadaşlar ekteki projeme klasör no yazan kısım otomatik geliyor. Benim sorunum ise yeni kayıt a basıp klasör no tıkladığımda ve tekrar yeni kayıt a bastığımda sürekli yeni sayı vermesi. Böyle böyle her yaptığımda kaydet e basmadan kaydediyor ve yeni sayı veriyor. Ben bunu düzeltmek için yeni kayıt butonuna bir kod yazdım ama bu seferde yeni kayıt butonu hiç işlemiyor. Yardımcı olursanız çok sevinirim.
If Me.NewRecord = True Then
Me.Undo
End If
@"haliliyas"'ın cevabına ek olarak

If Me.Dirty = True Then
If MsgBox("Değişiklikler kaydedilsin mi?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI") = vbYes Then
DoCmd.GoToRecord , , acNewRec
Else
Me.Undo
End If
Else
DoCmd.GoToRecord , , acNewRec
End If

şeklinde kod kullanılabilir.
(14/06/2019, 18:06)haliliyas yazdı: [ -> ]
If Me.NewRecord = True Then
Me.Undo
End If

hocam bu kodu nereye yazacağız? yeni kayıt butonuna yazıyorum çalışmıyor.
(14/06/2019, 18:15)ozanakkaya yazdı: [ -> ]@"haliliyas"'ın cevabına ek olarak

If Me.Dirty = True Then
   If MsgBox("Değişiklikler kaydedilsin mi?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI") = vbYes Then
       DoCmd.GoToRecord , , acNewRec
   Else
       Me.Undo
   End If
Else
   DoCmd.GoToRecord , , acNewRec
End If

şeklinde kod kullanılabilir.

bu kodu yazdığımda hayır a bassam bile sayı atıyor. bana yeni kayıta bastıktan sonra kaydet e basmadığımız sürece yeni kayda geçmeyecek bir kod lazım.
isterseniz alanları bağımsız yaparsınız ve sadece kaydet dediğinizde tabloya ekleyen bir yapı kullanabilirsiniz.
ama öbür türlü olduğunda "esc" ye bastığınızda bile sayı sürekli artar diye biliyorum
mesela doğrudan tabloyu açıp 1 harf girip "esc" bastığınızda bile sayı artıyor.
Dim Rs As New ADODB.Recordset
Dim SqlEkle As String
SqlEkle = "select * from denetim"
Rs.Open SqlEkle, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Rs.AddNew
Rs!klasorno = Me.klasorno
Rs!dosyano = Me.dosyano
'diğer alan adları ve metin kutuları.
.
.
Rs.Update
Rs.Close: Set Rs = Nothing
' buraya da tüm metin kutularını boşaltacak kod yazılabilir
MsgBox "Kaydetme İşlemi tamamlandı"
Sayfalar: 1 2