05-01-24, 01:57 AM
وعليكم السلام ورحمة الله وبركاته
الحل :
- نصنع دالة تتحقق من ذلك وتتطلب:
1 - إنشاء كائن إتصال خاص بها وليكن اسمه (pConn) و نضعه إما في مودل أو في قسم التصريح العام قبل حدث تحميل النافذة :
(لا تنسى تصحح مسار واسم قاعد البيانات بما لديك)
ملاحظة : كي لا تقع ضمن أخطاء فتح وإغلاق قاعدة البيانات،،، هذا الكائن (pConn) لا تستخدمه ضمن أكوادك الأخرى.. فقط ضمن أكواد النداء السريع كهذا الكود.. لأنه بإختصار (بيفتح اتصال مع قاعدة البيانات، بيتشغل شغله، وبيغلق اتصاله مع قاعدة البيانات)..
2 - ننشئ الدالة :
3 - قبل البدء بأي عملية يمكنك التحقق من شرط ما وهذا الشرط تستطيع كتابته بـ جملة استعلام الـ SQl
ضمن الدالة أثناء إٍستدعائها فتصبح الجملة الشرطية هي :
(عدل اسم الجدول TablXXX بما يناسب جداولك والحقل [id] الذي تبحث فيه عن التواجد)، واستدعيه مع كل جدول تريد البحث فيه..
هذا إجراء عام فيك تستخدمه بأي مشروع عندك..
للتحقق من أي شيء :
- قبل إدخال سجل جديد منعاً للتكرار.
- قبل حذف سجل ما منعاً من نزع علاقة مع جداول أخرى.
- قبل التعديل لنفس ما ذكر أعلاه.
الحل :
- نصنع دالة تتحقق من ذلك وتتطلب:
1 - إنشاء كائن إتصال خاص بها وليكن اسمه (pConn) و نضعه إما في مودل أو في قسم التصريح العام قبل حدث تحميل النافذة :
(لا تنسى تصحح مسار واسم قاعد البيانات بما لديك)
كود :
Public pConn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\data.accdb")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 Function3 - قبل البدء بأي عملية يمكنك التحقق من شرط ما وهذا الشرط تستطيع كتابته بـ جملة استعلام الـ SQl
ضمن الدالة أثناء إٍستدعائها فتصبح الجملة الشرطية هي :
(عدل اسم الجدول TablXXX بما يناسب جداولك والحقل [id] الذي تبحث فيه عن التواجد)، واستدعيه مع كل جدول تريد البحث فيه..
كود :
If Existing_Value("Select * from TablXXX Where [id]='" & TextBox1.Text.Trim & "'") Then
MsgBox("هذا السجل مرتبط بسجلات أخرى، لا يمكنك حذفه أو ....")
Exit Sub
End Ifهذا إجراء عام فيك تستخدمه بأي مشروع عندك..
للتحقق من أي شيء :
- قبل إدخال سجل جديد منعاً للتكرار.
- قبل حذف سجل ما منعاً من نزع علاقة مع جداول أخرى.
- قبل التعديل لنفس ما ذكر أعلاه.
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
