اذهب الي المحتوي
أوفيسنا

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

قام بنشر (معدل)

التحية والاحترام لأساتذتي الكرام ..

الكود التالي يضيف اسم المستخدم + وقت التعديل في الجدول عند اضافة سجل جديد أو تحرير سجل

المشكلة حسب فهمي البسيط لها :

عند  حذف هذا السجل (المضاف او الذي تم تحريره) لا يجد الكود الحقل المخصص  لكتابة اسم المستخدم و الوقت عليه ..

لذلك تحدث المشكلة : حيث لا يمكن الذهاب للسجل التالي أو السابق ..

ارجو شاكراً التعديلعلى الكود لحل هذه المشكلة ..

Private Sub Form_BeforeUpdate(Cancel As Integer)
'user ' userTable
'fullname ' userNmae

On Error GoTo ErrorBakry

If Me.NewRecord Then
Me.CreatedBy = DLookup("fullname", "users")
Me.CreatedDate = Now()

Else
Me.ModifiedBy = DLookup("fullname", "users")
Me.ModifiedDate = Now()
Exit Sub

ErrorBakry:
MsgBox "حدث خطأ ما ", vbOKOnly + vbCritical + vbMsgBoxRight, "تنبيه"
Resume Next
End If

End Sub

 

تم تعديل بواسطه bakry kassala
قام بنشر

نظرة اولية للكود ليس للكود دخل في المشكلة

فالكود يضيف بيانات في حقلين فقط

المشكلة عندك في النموذج ومصدر بياناته

جرب واعمل تحديث للنموذج بعد عملية الحذف بـ     Refresh  أو  Requery

قام بنشر
2 ساعات مضت, ابوخليل said:

نظرة اولية للكود ليس للكود دخل في المشكلة

فالكود يضيف بيانات في حقلين فقط

المشكلة عندك في النموذج ومصدر بياناته

جرب واعمل تحديث للنموذج بعد عملية الحذف بـ     Refresh  أو  Requery

استاذي ابوخليل

اشكرك .. لكن هناك رسالة خطأ :

الرسالة : Update او CancelUpdate بدون AddNew او Edit

(Error 3020)

قام بنشر

استاذي ابوخليل 

لدي سؤال هل يمكننا أن نضع شرط لهذا الكود بحيث لا يعمل إلا في حال وجود تغيير أو تحرير في بيانات سجل أو اضافة سجل جديد .. ؟

قام بنشر
Private Sub Form_BeforeUpdate(Cancel As Integer)
'user ' userTable
'fullname ' userNmae

On Error GoTo ErrorBakry

If Me.NewRecord Then
Me.CreatedBy = DLookup("fullname", "users")
Me.CreatedDate = Now()

ElseIf Me.Dirty = True Then

Me.ModifiedBy = DLookup("fullname", "users")
Me.ModifiedDate = Now()
Exit Sub

ErrorBakry:
MsgBox "حدث خطأ ما ", vbOKOnly + vbCritical + vbMsgBoxRight, "تنبيه"
Resume Next
End If

End Sub

لست متاكد .. لانك لم ترفع الملف للتجربة .. 

قام بنشر

مشكور أخي عبدالسلام ... ولكن ما زالت المشكلة قائمة ..

تظهر رسالة :  Update او CancelUpdate بدون AddNew او Edit

ولا يمكن التنقل بين السجلات ..

يحدث ذلك عند حذف اي سجل من السجلات ..

حيث يتم تلقائياً انشاء سجل جديد تتجمد فيه عملية التنقل بين السجلات

علماً بأن هذا السجل ينشأ تلقائي وليس بحدث ... 

( إنشاء سجل جديد في البرنامج يتم بواسطة حدث عند الضغط على زر منفصل تماماً )

 

قام بنشر
14 ساعات مضت, ابوخليل said:

يبدو ان المشكلة مصدرها  كود الحذف 

وحى تمكن اخوتك من مساعدتك يفضل ارفاق مثالك للفحص عن قرب

 

استاذي الفاضل ابوخليل - احترامي

استخدم الكود التالي لنقل سجل من الجدول mytbl الى الجدول tbl1 حسب الـ id ثم حذفه من الجدول mytbl

أرجو شاكراً مراجعة الكود استاذي ..


Me.Refresh
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tbl1 " & _
"SELECT * FROM mytbl  WHERE (((mytbl.id)=[forms]![frm]![id]));"


DoCmd.RunSQL "DELETE mytbl.id FROM frm WHERE (((mytbl.id)=[forms]![frm]![id]));"
DoCmd.SetWarnings True
Me.Refresh

 

قام بنشر

السبب واضح

فانت تحذف سجل  في جدول بجملة استعلام  وفي نفس الوقت الفورم مرتبط به وايضا التركيز على هذا السجل داخل الفورم

ومادام التركيز على السجل عند الالحاق :

جرب الحذف بواسطة  اكسس عن طريق الفورم  بمثل هذا

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

 

قام بنشر
2 دقائق مضت, ابوخليل said:

السبب واضح

فانت تحذف سجل  في جدول بجملة استعلام  وفي نفس الوقت الفورم مرتبط به وايضا التركيز على هذا السجل داخل الفورم

ومادام التركيز على السجل عند الالحاق :

جرب الحذف بواسطة  اكسس عن طريق الفورم  بمثل هذا


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

 

استاذي ابوخليل 

ارجو التكرم بالتوضح الكود اكثر ..

هل يمكن أن يتم الحذف بواسطة استعلام حذف ؟

قام بنشر

مشكلتك نابعة من استعلام الحذف

الغي السطر الخاص بالحذف في كودك الاخير واستبدله  بالسطرين  الذين كتبتهما لك

جرب ... ووافنا بالنتيجة

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information