اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم 

عندي هدا الكود 


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 بدون تغيير 

قام بنشر

أظن أنه ينقص إجراء بعد تحقق الشرط لكي تحفظ القيمة، لأن حدث BeforeUpdate ينطبق فقط على عناصر التحكم في النموذج.

قام بنشر

جرب هذا التعديل

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

 

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information