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

ارجو المساعدة في كود لحذف بعض الجدوال


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

السلام عليكم 

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

عندي جدول متكون من 120 خانة الجميع في نموذج واحد واخذت 15 خانة منه في نموذج اخر من نفس الجدول المطلوب 

عند تغيير قيمة في مربع سرد اسمه رتبة يقوم بحذف الخانات الموجودة في النموذج الثاني المتكون من 15 خانة 

 

رابط هذا التعليق
شارك

16 ساعات مضت, AlwaZeeR said:
 CurrentDb.Execute "DELETE * " & _
		" FROM YourTbl " & _
			" WHERE RgmRtba <>" & Me.RgmRtba

 

32 دقائق مضت, العراقي المدلل said:

بس يار يت توضح الكود اكون ممنون منك 

بعد اذن اخي واستاذي ابو الكرم

هذا كود استعلام حذف بمعنى احذف جميع الحقول في جدول

YourTbl
بدلا عنه اكتب اسم الجدول الذي ترغب في حذف سجلاته

RgmRtba 
اسم الحقل في الجدول الذي سنحددة معيار للاستعلام

Me.RgmRtba
اسم مربع التحرير والسرد في النموذج

لاحظ ان الاستاذ وضع علامة 
<>
اي سيتم حذف السجلات التي لا تطابق الاسم في القائمة
ويمكن استبدالها الى
=
اذا كنت ترغب حذف ما يطابق الاسم في القائمة
  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

اشكرك اخي العزيز 

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

الجدول اسمه الرئيسي 

والنموذج الفرعي الذي مراد مسح خاناته اسمه al 

 

Private Sub الرتبة_Change()
Dim de As String
On Error Resume Next
de = MsgBox("حذف العلاوات القديمة ", vbYesNo + vbInformation, "تنبيه")
If de = vbYes Then
DoCmd.RunSQL "delete*form al الرئيسي.تاريخ استحقاق العلاوة الثانية,الرئيسي.تاريخ استحقاق العلاوة الاولى WHERE (((الرئيسي.تاريخ استحقاق العلاوة الاولى) Is Null)) OR (((الرئيسي.تاريخ استحقاق العلاوة الثانية) Is Null));"
DoCmd.Requery
End If

End Sub

 

 

Private Sub الرتبة_Change()
Dim de As String
On Error Resume Next
de = MsgBox("حذف العلاوات القديمة ", vbYesNo + vbInformation, "تنبيه")
If de = vbYes Then
DoCmd.RunSQL "delete*form al الرئيسي.تاريخ استحقاق العلاوة الثانية,الرئيسي.تاريخ استحقاق العلاوة الاولى WHERE (((الرئيسي.تاريخ استحقاق العلاوة الاولى) Is Null)) OR (((الرئيسي.تاريخ استحقاق العلاوة الثانية) Is Null));"
DoCmd.Requery
End If
End Sub

 

تم تعديل بواسطه jjafferr
لتنسيق الكود: استعمال <> القائمة ، ووضع الكود في نافذته
رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

اذا انا كتبت اسمك هكذا: العراقيالمدللمنالعراق

فهل هو اسمك !!

الجواب لا ، لأني ما عملت مسافة بين الاسم والآخر ، وهذا حال امر الحذف الذي عملته، الاكسس لا يعرف الامر ، لأنك ما عملت مسافة بين الاسماء 🙂

 

DoCmd.RunSQL "delete*form al الرئيسي.تاريخ استحقاق العلاوة الثانية,الرئيسي.تاريخ استحقاق العلاوة الاولى WHERE (((الرئيسي.تاريخ استحقاق العلاوة الاولى) Is Null)) OR (((الرئيسي.تاريخ استحقاق العلاوة الثانية) Is Null));"

.

الطريقة الصحيحة:

1. يجب ترك مسافة بين الاسماء
"delete * form 

2. يجب ان تضع الاسماء التي بها مسافة بين قوسين []
]الرئيسي].[تاريخ استحقاق العلاوة الثانية],[الرئيسي].[تاريخ استحقاق العلاوة الاولى]

WHERE (((]الرئيسي].[تاريخ استحقاق العلاوة الاولى]) Is Null)) OR (((]الرئيسي].[تاريخ استحقاق العلاوة الثانية]) Is Null));"

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

اشكرك استاذ العزيز 

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

فارجو استاذ العزيز ان تساعد اخوك اكون ممنون منك واسف على الازعاج اخي جزاك الله كل خير 

كود.rar

رابط هذا التعليق
شارك

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

"delete * From الرئيسي WHERE ((detal1) Is Null) OR ((detal2) Is Null)"

 

واذا ما حذف ،

فرجاء تعمل استعلام عادي باسم qry_Delete_Records وتتأكد انه يحذف السجلات بطريقة صحيحة ،

ثم اجعل الكود كالتالي:

Private Sub الرتبة_Change()
Dim de As String
On Error Resume Next
de = MsgBox("حذف العلاوات القديمة ", vbYesNo + vbInformation, "تنبيه")
If de = vbYes Then
docmd.openquery "qry_Delete_Records"
DoCmd.Requery
End If

End Sub

 

جعفر

رابط هذا التعليق
شارك

اشكرك استاذ جعفر على الاهتمام وبارك الله فيك وزادك من العلم 

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

اسف استاذي العزيز هذي مدة ادور على حل ولم اجده 

رابط هذا التعليق
شارك

 

لو ارفقت البرنامج وبه بعض السجلات ، كان ممكن نفيدك بالكود الصحيح ،

ولكن وكما قلت في مشاركتي السابقة ، رجاء عمل الاستعلام يدويا

1 ساعه مضت, jjafferr said:

واذا ما حذف ،

فرجاء تعمل استعلام عادي باسم qry_Delete_Records وتتأكد انه يحذف السجلات بطريقة صحيحة ،

رابط هذا التعليق
شارك

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