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

إفراغ البيانات دفعة واحدة عن طريق زر في النموذج


ferhi

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

أريد أن أسأل هل يجوز عمل زر أمر في النموذج لإفراغ جميع البيانات دفعة واحدة 

دون اللجوء إلى الطريقة التقليدية وحذف كل سجل على حدى ، وإن كان هذا لايجوز فهل هناك طريقة أسهل.

وبارك الله فيكم .

 

13 دقائق مضت, ferhi said:

أسهل

 

تم تعديل بواسطه ferhi
رابط هذا التعليق
شارك

السلام عليكم:smile:

 

فقط ملاحظة عن الامر CurrentDb.Execute:

1. هناك حالات لا يمكن للاكسس استخدامه ،

2. ميزة الامر انه يقوم بالعمل بدون رسائل تحذيرية ، ولكن اذا لم يستطع اكسس ان ينفذ الامر ، فلن تعرف السبب ، فهو لا يعطي رسالة الخطأ ،

 

لذا ، يمكنك استعمال:

docmd.runsql ("Delete * From Tbl_reg")

 

جعفر

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

13 ساعات مضت, ferhi said:

أريد أن أسأل هل يجوز عمل زر أمر في النموذج لإفراغ جميع البيانات دفعة واحدة 

دون اللجوء إلى الطريقة التقليدية وحذف كل سجل على حدى ، وإن كان هذا لايجوز فهل هناك طريقة أسهل.

وبارك الله فيكم .

 

 

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

وشغل الاستلام من وين ما بدك 

اذا طريقة الاخ جعفر صعبة 

هذه اسهل

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

السلام عليكم

احسنت اخي @jjafferr كد سهل وبسيط لمسح بيانات جدول واحد

سؤال : ماذا اكتب في الكد لجعله يعمل على مسح البيانات من جميع الجداول في القاعدة اي بمعنى (تصفير قاعدة البيانات)

جزاكم الله خيراً

تم تعديل بواسطه محمد التميمي
رابط هذا التعليق
شارك

وعليكم السلام:smile:

 

غالبا لتصغير البرنامج ، عمل ضغط واصلاح يكون كافي.

 

ومن الاكسس ، اخذت هذا الكود وعدلت عليه ،

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

ولاحظ بأني استخدمت طريقة اخوي @kanory ، لأني ما اريد احصل على رسائل اكسس ،

ومن ضمن الرسائل ممكن تكون رسالة بعدم امكانية حذف بيانات جدول بسبب ارتباطه بجدول آخر !! :

Sub AllTables()
    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentData

    For Each obj In dbs.AllTables
       'docmd.setwarning false
       'docmd.runsql("Delete * From " & obj.Name
       'docmd.setwarning true

        dbs.execute("Delete * From " & obj.Name
    Next obj

End Sub

.

وبعد هذا اعمل ضغط واصلاح.

 

جعفر

 

 

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

أشكركم جزيل الشكر وأدعوا الله أن ينير بصيرتكم فلقد افدتموني كثيراً  لأنني أعمل لدى عيادة طب الأسنان 

وأعمل على قاعدة بيانات اكسس وهناك جدول لبيانات حجز المواعيد للمرضى المؤقتة التي لاتكون  صمن الأرشيف

فاكرر بذلك شكري لكم جميعاً .

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

10 ساعات مضت, jjafferr said:

من الاكسس ، اخذت هذا الكود وعدلت عليه ،

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

أستاذنا العزيز جعفر رعاك الله ومن تحب ....

:: هل يمكن استثناء بيانات احد الجداول من الحذف ؟.

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

السلام عليكم 

 

حيالله اخوي محمد ، من زمان ما سمعنا منك:smile:

11 ساعات مضت, محمدنجار said:

هل يمكن استثناء بيانات احد الجداول من الحذف ؟

.

اذا افترضنا ان الجدول الذي لا نريد حذف بياناته ، اسمه tbl_2  ، فيصبح الكود:

Sub AllTables()
    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentData

    For Each obj In dbs.AllTables

      if obj.name <>"tbl_2" then

       'docmd.setwarning false
       'docmd.runsql("Delete * From " & obj.Name
       'docmd.setwarning true

        dbs.execute("Delete * From " & obj.Name
      end if
   
   Next obj

End Sub

 

جعفر

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

8 دقائق مضت, jjafferr said:

ذا افترضنا ان الجدول الذي لا نريد حذف بياناته ، اسمه tbl_2  ، فيصبح الكود:

وعليكم السلام ورحمة الله وبركاتة

وإذا اردنا اسثناء أكثر من جدول ؟

كيف سيكون شكل هذا السطر

if obj.name <>"tbl_2" then

 

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

2 دقائق مضت, kaser906 said:

وإذا اردنا اسثناء أكثر من جدول ؟

كيف سيكون شكل هذا السطر

 

هلا والله بأخوي كاسر

if obj.name <>"tbl_2" or obj.name <>"tbl_3" or obj.name <>"tbl_4" then

 

 

بينما ، وعلشان يكون المثال اعم ،

اذا اردنا حذف بيانات مجموعة معينة من الجداول فقط ، فيمكننا عمل:

if obj.name ="tbl_2" or obj.name ="tbl_3" or obj.name "tbl_4" then



او طبعا
dbs.execute ("delete * from tbl_2")
dbs.execute ("delete * from tbl_3")
dbs.execute ("delete * from tbl_4")

.

جعفر

 

جعفر

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

حلو

واعتقد الجزأ الثاني راح يحل مشكلة عدم حذف بانات جدول بسبب العلاقات المرتبطة

اثناء ترتيب حذف الجداول

dbs.execute ("delete * from tbl_2")
dbs.execute ("delete * from tbl_3")
dbs.execute ("delete * from tbl_4")

 

شكراً لك استاذنا

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

22 دقائق مضت, jjafferr said:

حيالله اخوي محمد ، من زمان ما سمعنا منك:smile:

:: الله محييك اخي جعفر ... انا عالق في هذا المنتدى الى ماشاء الله ... من له اخوه مثلكم لا يمكنه الابتعاد عنهم , كل ما في الامر دخولي للمنتدى اصبح هالايام بشكل سريع ..

:: الكود جميل جدا ولا اروع ... عاشت ايدك . وسلمك الله لمحبيك ...

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

  • 3 months later...

 

Dim s1,  As String
On Error GoTo y:
If MsgBox("هل تريد حذف كافة البيناات من الجودل  ", vbYesNo, " تحذير  ") = vbYes Then
s1 = "DELETE * FROM [in]"
DoCmd.SetWarnings False
DoCmd.RunSQL s1
DoCmd.Requery
MsgBox " تم الحذف بنجاح !!!!"
Else
End If
y: MsgBox Err.Description
رابط هذا التعليق
شارك

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