ازهر عبد العزيز قام بنشر مارس 10, 2021 قام بنشر مارس 10, 2021 السلام عليكم عندي هدا الكود Private Sub Form_BeforeUpdate(Cancel As Integer) If DCount("*", "TBaction", "idexperience=" & Me.idexperience & "and namemetal='" & Me.namemetal & "'") > 0 Then Dim stry As String stry = Me.namemetal Me.Undo Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[namemetal] = '" & stry & "'" If Not rs.EOF Then Me.Bookmark = rs.Bookmark Me.unit2 = Me.unit2 + 0.6 End If End Sub الكود تمام لكن المشكلة في هدة الاضافة على الكود Me.unit2 = Me.unit2 + 0.6 المشكلة ان الكود يقوم بتطبيقها مرة واحدة فمثلا لو كان حقل unit2 = 1 , وعند تطبيق الكود تكون النتيجة 1.6 لكن عند تطبيها مرة ثانية تبقى 1.6 بدون تغيير
biskra قام بنشر مارس 10, 2021 قام بنشر مارس 10, 2021 أظن أنه ينقص إجراء بعد تحقق الشرط لكي تحفظ القيمة، لأن حدث BeforeUpdate ينطبق فقط على عناصر التحكم في النموذج.
أبوبسمله قام بنشر مارس 10, 2021 قام بنشر مارس 10, 2021 وعليكم السلام مشاركه مع أخي العزيز بيسكرا جرب وضع DoCmd.RunCommand acCmdSaveRecord قبل end sub
د.كاف يار قام بنشر مارس 10, 2021 قام بنشر مارس 10, 2021 جرب هذا التعديل Private Sub Form_BeforeUpdate(Cancel As Integer) On Error GoTo errorhandle If DCount("*", "TBaction", "idexperience=" & Me.idexperience & "and namemetal='" & Me.namemetal & "'") > 0 Then Dim stry As String stry = Me.namemetal Me.Undo Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[namemetal] = '" & stry & "'" If Not rs.EOF Then Me.Bookmark = rs.Bookmark Me.unit2 = Me.unit2 + 0.6 Set rst = Nothing End If errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit End Sub
الردود الموصى بها