الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلق
بدأه بو يوسف الراشد في 16 مارس 2003 · 8 رد · 720 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،،،،

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

#2

أخي الحبيب يمكنك التوضيح أكثر وبمثال لو أمكن لتحصل على إجابة لما طلبته وتمنياتي لك بالتوفيق.

#3

الأخ/المزيني وفق الله

لا يحتاج سؤالي إلى مثال لأن السؤال متعلق بأمر الحذف وهذ الأمر الكل يعرفه ويستخدمه ، ويبدو أن سؤالي غير واضح وسأعيده.

سؤالي هو:

عندما أضع زر حذف السجل على الفورم فوظيفة هذا الزر هو انه يحذف السجل الذي اكون متركز فيه.

ولكني أريد ان أضع شفرة وظيفتها هو نقل هذا السجل إلى جدول آخر بمجرد النقر على زر حذف السجل.

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

أرجو أن يكون السؤال واضحا

#4

ممكن يكون كارشفه بالنقل الى جدول جديد

#5

بعد إذنكما أخوي الكريمين/ المزيني / أبو تريكي

باستطاعتك ذلك أخي الكريم بالتالي :

إنشأ جدولاً وسمه مثلاً المحذوفات

ثم اعمل استعلام إلحاق أو عبارة سيكول عن طريق ADO وألحقه بالعبارة INSERT INTO

مثال احترافي شوي باستخدام ADO ومعاملاته BeginTrans

جدول المصدر : tbl2

جدول الوجهة : tbl1

Dim db As New ADODB.Connection

Dim sqCopy As String

Dim sqDel As String



' إنشاء اتصال مع قاعدة البيانات

Set db = CurrentProject.Connection



' عبارة SQL لنسخ البيانات من جدول tbl2  إلى جدول tbl1

sqCopy = "INSERT INTO tbl1 select * from tbl2"



' عبارة SQL لحذف البيانات من جدول tbl2  

sqDel = "delete tbl1 from tbl1"



' تنفيذ نسخ البيانات 

db.Execute sqCopy



' بدء المعاملة للتأكد من إتمام عملية النسخ 

    db.BeginTrans

        If db.Errors.Count <> 0 Then

            MsgBox "خطأ .. لم يتم نقل البيانات"



 ' التراجع عن النسخ عند حدوث خطأ

           db.RollbackTrans

        Else

 ' إذا تم النسخ بشكل صحيح نكمل العملية بحذف السجلات من الجدول الأصلي



 '  تنفيذ حذف البيانات

         db.Execute sqDel

                    If db.Errors.Count <> 0 Then

                                    MsgBox "خطأ .. لم يتم حذف البيانات"

                        db.RollbackTrans

                    Else

 ' عند إتمام العمليتين النسخ والحذف يتم تسليم العملية وإمضاؤها 

                       db.CommitTrans



                       MsgBox "ممتاز .. لقد تم نقل البيانات إلى الجدول الجديد .. كما  تم حذفها من الجدول الحالي"

                  End If

        End If



Set db = Nothing

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

تحياتي

#6

الأخ/أحمد الحربي

مشكووووووووووووووووووووووووور

وما قصرت

والله يجزاك ألف خير

وبارك الله فيك وفي أمثالك من الذين يحبون خدمة الأعضاء

وأسأل الله بأن يذكرك بالشهادة ومن ثم الجنة.......آمين.......أمين

#7

أخي الكريم وهذا مثال آخر وبطريقة أخرى يقوم بالمطلوب.

وأما بالنسبة لقولك أن سؤالك لا يحتاج إلى مثال فاسمح لي بأن أكرر أهمية المثال وهذا ما أكده الزملاء الأعضاء في هذا المنتدى في أكثر من رد.

أنظر مثلاً للمثال المرفق فقد قمت بإنشاء جدولين ونموذج وأدخلت 5 سجلات في أحد الجدولين كل هذا لإيصال الفكرة فلو أنك أنشئت الجدولين والنموذج وبقي الكود لكان ذلك أجدى فالمقصود الفكرة وليس أن يقوم الأخ الذي يقوم بالرد بعمل كل شيء حتى إدخال البيانات.

ملاحظة لمن يهمه الأمر: قمت بكتابة رد مشابه لهذا الردفي وقت سابق

وقمت بإضافته وتم قبول ذلك غير أنني تفاجئت حين دخلت للمنتدى مرةً أخرى لم أجد شىء فما السبب في ذلك؟

db1.zip

#8

آمين آمين وأيضاً ..

اللهم اخذل الأمريكان ومن عاونهم من الكفرة الفجرة .. اللهم اجعلها نهاية الأمريكان يا رب العالمين

ولا تنس أخانا الموفق المزيني

#9

الله يعطيك العافية والصحة يا أخ/المزيني

وبارك الله في جهودك النيرة

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…