اخي ابو ياسين انا شوفت موضوع لك في المنتدى واستفدت منة وعدلت ع الكود بحقولي وان شاء الله انحلت ويارب ما يحدث اخطاء
Option Compare Database
Public Function rashed()
On Error GoTo enderr
DoCmd.SetWarnings False
'ÇáäãæÐÌ
Set Rs = Forms![InvoiceHF]![InvoiceTF].Form.RecordsetClone
'ÇáÌÏæá ááÊÍÑí
Set RsEdit = CurrentDb.OpenRecordset("itemsT")
Rs.MoveFirst
'ÏæÑÇä
Do While Not Rs.EOF
RsEdit.MoveFirst
'ÏæÑÇä ááÌÏæá
Do Until RsEdit.EOF
'ÇÐÇ æÌÏ ÇáÓÌá
If RsEdit!itemName = Rs!itemName Then
'ÊÍÑíÑå
RsEdit.Edit
RsEdit!QAvilable = RsEdit!QAvilable - Rs!QSold
RsEdit.Update
End If
RsEdit.MoveNext
Loop
Rs.MoveNext
Loop
Set Rs = Nothing
Set RsEdit = Nothing
MsgBox " Êã ÍÝÙ ÇáÝÇÊæÑÉ Çáì ÇáÌÏæá ÈäÌÇÍ ", vbInformation, "Êã "
Exit Function
enderr:
MsgBox " ÎØÇ Ýí ÇáÈíÇäÇÊ ", vbInformation, "áã íÊã ÇáÍÝÙ"
DoCmd.SetWarnings True
End Function