20-08-17, 02:12 PM
20-08-17, 02:34 PM
(20-08-17, 02:31 PM)Amir_alzubidy كتب : [ -> ]السلام عليكم ورحمة الله و بركاته
يمكنك الاستعانة بجدول آخر بحيث يكون فيه رقم التسلسل المحذوف وتاريخ عملية الحذف
بهذه الحالة نستطيع الاستعلام عن جمكيع الارقام المحذوفة وفق تاريخ آخر عملية على سبيل المثال
والله اعلم
لا يوجد سوى جدول واحد
20-08-17, 02:35 PM
اهلا تناسيم
فيه طرقه للتبليغ اسم المستخدم والوقت و ( الحدث اللي قام به ) وترسل إليك على الإيميل
فيه طرقه للتبليغ اسم المستخدم والوقت و ( الحدث اللي قام به ) وترسل إليك على الإيميل
20-08-17, 02:43 PM
(20-08-17, 02:35 PM)سعود الشامان كتب : [ -> ]اهلا تناسيم
فيه طرقه للتبليغ اسم المستخدم والوقت و ( الحدث اللي قام به ) وترسل إليك على الإيميل
انا اريد فقط معرفة الرقم المحذوف اسرع بدلا من مراجعة الارقام كلها واستخراج الرقم المحذوف
20-08-17, 05:05 PM
(20-08-17, 02:46 PM)khodor1985 كتب : [ -> ]السلام عليكم أخي العزيز ورحمة الله وبركاته
الطريقة الأولى :
ترحيل السجل قبل الحذف إلى جدول آخر.
الطريقة الثانية :
إذا كنت تستخدم قاعدة بيانات من نوع سيكوال فيمكنك التعامل مع Triggers.
لقد وضعنا لكم الحل البسيط وهو معتمد ولا داعي فيه لمراجعة الأرقام فقط سوف تقوم بإنشاء استعلام يستدعي السجلات المحذوفة من الجدول الثاني، أما إذا أردت الطريقة المعقدة فإليك التالي :
نقوم بتخزين جميع الأرقام التسلسلية فيList ونقوم بإنشاء List أخرى في المقابل تحتوي على نفس عدد الأرقام ونجري مقارنة بينهما والرقم الغير المطابق سوف يظهر في النتيجة
اي جدول ثاني جدول واحد فقط؟
كيفية عمل استعلام يستدعي السجلات المحذوفة من الجدول؟
كيفية عمل مقارنة بين الtwo list لو اتبعت الطريقة الثانية وهل هي باستخدام الايكسيل؟
شكرا جزيلا
20-08-17, 07:27 PM
وجهة نظري ان لا تتيح الحذف الجذري لعامة المستخدمين وانما فقط اخفاء .
والاداري النهائي هو من يقرر الحذف الفعلي.
يعني ببساطة يكون لديك عمود باسم مثلا show وقيمته الافتراضية 1 اي نعم وعند الحذف الجزئي تجعل القيمة 0 .
وعند الاستعلام لدى كافة المستخدمين where show=1 ولدى الاداري نكتب where show=0 ليرى قراره المناسب.
والاداري النهائي هو من يقرر الحذف الفعلي.
يعني ببساطة يكون لديك عمود باسم مثلا show وقيمته الافتراضية 1 اي نعم وعند الحذف الجزئي تجعل القيمة 0 .
وعند الاستعلام لدى كافة المستخدمين where show=1 ولدى الاداري نكتب where show=0 ليرى قراره المناسب.
21-08-17, 11:15 AM
(20-08-17, 05:37 PM)khodor1985 كتب : [ -> ]لا حول ولا قوة إلا بالله العلي العظيم
سوف أتكلم باللغة العربية، أنا عندي جدول بعنوان Person وهذا الجدول يحتوي على ثلاثة حقول :
- Id رقم تسلسلي
- FirstName
- LastName
لإضافة البيانات من المشروع إلى الجدول في قاعدة البيانات نستخدم جملة السيكوال :
PHP كود :
Insert Into Person (Fname,Lname) Values(@Fname,@Lname)
لحذف سجل من الجدول في قاعدة البيانات من خلال المشروع نضع جملة سيكوال :
PHP كود :
Delete From Person Where Id = @Id
لكن قبل أن ننفذ عملية الحذف لننشئ جدول ثاني في قاعدة البيانات نفسها سواء كانت من نوع Access أو SQL :
ولنسمي الجدول DeletedRecords
وسيضم هذا الجدول 4 حقول :
- Id رقم تسلسلي
- PersonId وهو السجل الذي سيتم حذفه من الجدول Person
- FirstName
- LastName
عند زر الحذف في المشروع نضع الكود التالي :
نضع جملة الـ Insert أولا ثم جملة Delete ثانيا، بمعنى آخر نضع إجراء إدخال السجل الذي سيتم حذفه إلى الجدول DeletedRecords ثم يليه جملة الحذف من الجدول Person.
أتمنى لكم التوفيق
انا ما قدرتش اوصل لحضرتك قصدي انا حذفت صف بالفعل من جدول وهذا الصف له رقم تسلسلي اريد معرفة رقم هذا الصف على العلم انه لا يوجد سوى هذا الجدول الذي يحوي البيانات
وحضرتك افادتني انني ممكن اعمل انسخ لعمود الارقام المتسلسلة متهيألي حضرتك تقصد عن طريق الايكسيل وانشئ عمود آخر بنفس التسلسل واعمل تطابق للاثنين وساتمكن خلالها من استخراج الرقم المحذوف فانا بسأل كيفية عمل تطابق للعمودين
وشكرا واسفة على الاطالة
21-08-17, 03:01 PM
مرحبا اخى تناسيم
ممكن تكون على خطوتين
الاولى تستعلم عن جميع ارقام الرقم التسلسلي وتضعهم في مصفوفه
التانيه تلف على كل المصفوفه وتستخرج الرقم الغير موجود
مثل هذا الكود
كتبت الكود بالمفكره واعتذر اذا كانت هناك اخطاء
ممكن تكون على خطوتين
الاولى تستعلم عن جميع ارقام الرقم التسلسلي وتضعهم في مصفوفه
التانيه تلف على كل المصفوفه وتستخرج الرقم الغير موجود
مثل هذا الكود
PHP كود :
الخطوه الاولى
Dim a As New OleDataAdapter("SELECT [id] FROM [tbl]", cn)
dim t As New Datatable
a.Fill(t)
Dim id() As Integer=(From x as DataRow In t.Rows Select Cint(x.Item(0))).toArray
الخطوه التانيه
dim b as new stringbuilder
For i=1 To id.Last
If Not id.Contains(i) Then b.append(i)
Next
Dim s As string=String.join(", ",b)
MsgBox(s)
كتبت الكود بالمفكره واعتذر اذا كانت هناك اخطاء
21-08-17, 11:38 PM
السلام عليكم ورحمة الله نفس الموضوع تم حله من قبل بمشاركة لى ومرفق على المشاركة التالية لعلها تفيد
http://vb4arb.com/vb/showthread.php?tid=18125
http://vb4arb.com/vb/showthread.php?tid=18125