2016-04-14 37 views
0

Microsoft Access'te bir formum var. Renew adı verilen düğme bulunmalıdır. Düğmeyi tıklattığımda, alt formun bir alanı, günümüze kadar olan tarihte olmalıdır. Ben form ve düğme oluşturduk - Apply filter seçti>From operations yılında, ve ->Property Sheet ->Event ->Microsoft Visual Basic:Alanı değiştiren düğme

Private Sub cmd_renew_Click() 
Dim strSQL As String 
strSQL = "UPDATE tbl_Borrowing SET DateBorrowed = Date()" 
DoCmd.SetWarnings (False) 
DoCmd.RunSQL strSQL 
DoCmd.SetWarnings (True) 
End Sub 

O çalışmıyor ve ben hiçbir fikri benim mantık doğru olsa da olmasa var. DateBorrowed algılamıyor. Bunu formumda yaptım, alt form değil. Bu kod yerine

+0

yerine' docmd.runSQL strSQL' kullanmak yerine,:
ana formdaki metin kutusu koyarsanız, alt form bölüm VROM kodunu kaldırın. Bunun alt formunuzla nasıl bağlantılı olduğundan emin değilim. Nerede bir yere ihtiyacın var? – LiamH

+0

, 'çalışmaz' ifadesinin biraz belirsiz olmasına rağmen, alt formun çalıştırılmakta olduğunu farz edeceği varsayımı yansıtması için gerekenleri eklemeniz gerekir. Hata mesajı? İstenilen sonuçların eksikliği? – GavinP

+0

@LiamH, Nerede bir yere ihtiyacım olabilir, çünkü bilgileri sadece bir kayıt için güncellemek istiyorum. 3. sayfada olduğum gibi, düğmeye tıklamak istiyorum ve alan sadece üçüncü sayfada alanı güncellemelidir – Alex

cevap

1

Kullanım:

Private Sub cmd_renew_Click() 
    Me!SubFormControlName.Form!DateBorrowed = Date() 
end Sub 

formunuzda Alt Form denetimi gerçek adıyla SubFormControlName değiştirin. Ben currentdb.execute stSQL` burada daha uygundur `kullanarak düşünüyorum

Me!DateBorrowed = Date() 
+0

Teşekkür ederiz! Bana söyler misin lütfen, ben sadece ana formda, alt formda değil. İfademi nasıl değiştirmem gerekiyor? – Alex

+0

@Alex, cevabımı düzenledim :) – marlan