تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الحذف للسجل بشروط معينة
#2
وعليكم السلام ورحمة الله وبركاته

الحل : 
- نصنع دالة تتحقق من ذلك وتتطلب:
1 - إنشاء كائن إتصال خاص بها وليكن اسمه (pConn) و نضعه إما في مودل أو في قسم التصريح العام قبل حدث تحميل النافذة :
(لا تنسى تصحح مسار واسم قاعد البيانات بما لديك)
كود :
Public pConn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\data.accdb")
 ملاحظة : كي لا تقع ضمن أخطاء فتح وإغلاق قاعدة البيانات،،، هذا الكائن (pConn)  لا تستخدمه ضمن أكوادك الأخرى..  فقط ضمن أكواد النداء السريع كهذا الكود.. لأنه بإختصار (بيفتح اتصال مع قاعدة البيانات، بيتشغل شغله، وبيغلق اتصاله مع قاعدة البيانات)..

2 - ننشئ الدالة : 
كود :
  Public Function Existing_Value(sSQLSelect As String) As Boolean
      If pConn.State <> ConnectionState.Open Then pConn.Open()

      Dim fCmd As New OleDbCommand(sSQLSelect, pConn)
      Dim fDt As New DataTable

      fDt.Load(fCmd.ExecuteReader())

      If pConn.State <> ConnectionState.Closed Then pConn.Close()

      If fDt.Rows.Count > 0 Then
          Return True
      Else
          Return False
      End If
  End Function

3 - قبل البدء بأي عملية يمكنك التحقق من شرط ما وهذا الشرط تستطيع كتابته بـ جملة استعلام الـ SQl
ضمن الدالة أثناء إٍستدعائها فتصبح الجملة الشرطية هي :
(عدل اسم الجدول TablXXX  بما يناسب جداولك والحقل [id] الذي تبحث فيه عن التواجد)، واستدعيه مع كل جدول تريد البحث فيه..
كود :
       If Existing_Value("Select * from TablXXX Where [id]='" & TextBox1.Text.Trim & "'") Then
           MsgBox("هذا السجل مرتبط بسجلات أخرى، لا يمكنك حذفه أو  ....")
           Exit Sub
       End If

هذا إجراء عام فيك تستخدمه بأي مشروع عندك..
للتحقق من أي شيء :
- قبل إدخال سجل جديد منعاً للتكرار.
- قبل حذف سجل ما منعاً من نزع علاقة مع جداول أخرى.
- قبل التعديل لنفس ما ذكر أعلاه.
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: محمد خيري


الردود في هذا الموضوع
RE: الحذف للسجل بشروط معينة - بواسطة Taha Okla - 05-01-24, 01:57 AM


التنقل السريع :


يقوم بقرائة الموضوع: