2016-03-21 22 views
0

Bir kullanıcı formu kapattığında, otomatik olarak erişir Veritabanına girilen verileri kaydeder. Böylece bir Kaydetme Düğmesine sahip olmaya gerek yoktur.Girilen Verileri Kaydetmek için VBA Girisi girildi Gelen

Ancak, kullanıcıların çoğu Save düğmesine basıldığında çok alışkan olduklarından, hala bir Save Düğmesi olması gerektiğinde ısrar edeceklerdir.

Formda girilen tüm verileri kaydetmek için Save düğmesi için hangi kod yazılmalıdır. Ayrıca, verilerin değişip değişmediğini kontrol etmek için de dikkatli olunmalıdır. Bazen kullanıcılar verileri görüntülemek için formu açacaklar, daha sonra herhangi bir değişiklik yapmamış olmalarına rağmen Save Düğmesine basacaklar.

+0

Bu kod sizin için çalışır mı? Özel Sub cmdSave_Click(): Msgbox "Data Saved", vbOkOnly: End Sub' :) –

cevap

0

Ayrıca Dirty kullanabilirsiniz

Private Sub cmdSave_Click() 
    If Me.Dirty Then 'to check if any data has changed. 
     DoCmd.RunCommand acCmdSaveRecord 
    End If 
End Sub 
1

Save Button Click olayı için kod yalnızca: Bunu düşünüyorum

Private Sub cmdSave_Click() 
    If Me.Dirty = True Then 
     Me.Dirty = False 
    End If 
End Sub 
0

i var aynı açıklamalara dayanarak istediğim şey Meslektaşlarım ... Her zaman, ister istemez ister istemez soru sormakla başlıyorum, bazen kullanıcılar sadece oyuncu ve kayıtlarla uğraşırlar.

If me.dirty = true then 
      If MsgBox("Are you sure you want to save as " & TempVars!gbl_username & "? 
         After saving you will be moved to a new record", _ 
         vbYesNo + vbQuestion, "Save Changes") = vbNo Then 
       'If answer is no 
        'Do nothing 
      Else 
       DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70      
      End If 
    End If 
+2

Microsoft, Do DoCmd.DoMenuItem' yirmi yıl önce kullanımdan kaldırıldı. Bunun yerine RunCommand''ı tavsiye ediyorlar. – HansUp

İlgili konular