منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول (/showthread.php?tid=50301)

الصفحات: 1 2


هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 13-09-24

الأخوة الأعزاء

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

عملت برنامج بالفيجوال بيسك 2022 وقاعدة بيانات Access 2019 وأريد منع بإدخال نفس البيانات في بعض الحقول مثل رقم الهوية الوطنية في حال تم تكرار نفس الرقم تخرج رسالة تقول بأنه تم إدخال هذا الرقم سابقاً

وشكراً جزيلاً


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 13-09-24

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

كود التحقق هو الدالة التالية :
كود :
Public Function ExScalar(cmdText As String) As Integer
        Using pConn As New OleDbConnection(strConn)  '  جملة الاتصال بقاعدة البيانات
            pConn.Open()

            Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)

            Dim n1 As Integer
            n1 = cmd.ExecuteScalar()

            Return n1
        End Using
    End Function

وطريقة الاستخدام ،، مثلاً كالتالي :
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        '  TextBox1.Text    رقم الهوية
        Dim Nx As Integer = ExScalar("SELECT Count(IDNo) As TotalStudent From Table1 Where IDNo =" & TextBox1.Text & ";",)

        If Nx > 0 Then
            MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
            Exit Sub
        End If

        '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
    End Sub

طبعاً بعد ما تغير المسيمات واسماء الحقول والجدول لما يناسب مشروعك ...


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 13-09-24

(13-09-24, 10:54 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

كود التحقق هو الدالة التالية :
كود :
   Public Function ExScalar(cmdText As String) As Integer
       Using pConn As New OleDbConnection(strConn)  '  جملة الاتصال بقاعدة البيانات
           pConn.Open()

           Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)

           Dim n1 As Integer
           n1 = cmd.ExecuteScalar()

           Return n1
       End Using
   End Function

وطريقة الاستخدام ،، مثلاً  كالتالي :
كود :
   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       '  TextBox1.Text    رقم الهوية
       Dim Nx As Integer = ExScalar("SELECT Count(IDNo) As TotalStudent From Table1 Where IDNo =" & TextBox1.Text & ";",)

       If Nx > 0 Then
           MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
           Exit Sub
       End If

       '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
   End Sub

طبعاً بعد ما تغير المسيمات واسماء الحقول والجدول لما يناسب مشروعك ...

أشكرك أخي العزيز طه عسى الله لايحرمنا منك

ظهر لي خطأ برمجي


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24

لاحظ الفاصلة في النهاية .. امسحها..
حاول ان تقرأ الكود وتصححه ...


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24

حذفت الفاصلة في النهاية ومازال الخطأ موجود

الجدول إسمه Car_info
الحقل المطلوب عدم التكرار فيه اسمه Car_Number

والـ TextBox إلي أكتب فيه إسمه Car_Number.text


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24

كود :
Public Function ExScalar(cmdText As String) As Integer
       Using pConn As New OleDbConnection(strConn)  '  لا تنسى تضع جملة الاتصال بقاعدة البيانات هنا مكان   strConn
           pConn.Open()

           Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)

           Dim n1 As Integer
           n1 = cmd.ExecuteScalar()

           Return n1
       End Using
   End Function



كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       '  Car_Number.Text    رقم الهوية
       Dim Nx As Integer = ExScalar("SELECT Count(Car_Number) As Car_No From Car_info Where Car_Number=" & Car_Number.Text & ";")

       If Nx > 0 Then
           MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
           Exit Sub
       End If

       '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
   End Sub


اذا كان نوع الحقل نصي :

كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       '  Car_Number.Text    رقم الهوية
       Dim Nx As Integer = ExScalar("SELECT Count(Car_Number) As Car_No From Car_info Where Car_Number='" & Car_Number.Text & "' ;")

       If Nx > 0 Then
           MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
           Exit Sub
       End If

       '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
   End Sub



RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24

(14-09-24, 06:03 AM)Taha Okla كتب :
كود :
Public Function ExScalar(cmdText As String) As Integer
       Using pConn As New OleDbConnection(strConn)  '  لا تنسى تضع جملة الاتصال بقاعدة البيانات هنا مكان   strConn
           pConn.Open()

           Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)

           Dim n1 As Integer
           n1 = cmd.ExecuteScalar()

           Return n1
       End Using
   End Function



كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       '  Car_Number.Text    رقم الهوية
       Dim Nx As Integer = ExScalar("SELECT Count(Car_Number) As Car_No From Car_info Where Car_Number=" & Car_Number.Text & ";")

       If Nx > 0 Then
           MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
           Exit Sub
       End If

       '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
   End Sub


اذا كان نوع الحقل نصي :

كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       '  Car_Number.Text    رقم الهوية
       Dim Nx As Integer = ExScalar("SELECT Count(Car_Number) As Car_No From Car_info Where Car_Number='" & Car_Number.Text & "' ;")

       If Nx > 0 Then
           MessageBox.Show("رقم هذه الهوية مكرر وموجود مسبقاً")
           Exit Sub
       End If

       '  باقي الكود أدناه  ليكمل  اذا الرقم غير مكرر
   End Sub

عملت بالضبط كما أمرت بحيث يكون الحقل نصي ولكن مازال الخطأ موجود

كود :
Dim Nx As Integer = ExScalar("SELECT Count(Car_Number) As Car_No From Car_info Where Car_Number ='" & Car_Number.Text & "' ;")



RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24

ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24

(14-09-24, 06:34 AM)Taha Okla كتب : ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..

ألا يوجد حل غير رفع المشروع

لأن المشروع خاص بالعمل وممنوع نشره


RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24

اصنع مشروع مصغر عنه النافذة التي فيها المشكلة (ويكون شغال - وليس بدون أكواد)
ونفس عناصر قاعدة البيانات ...