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

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

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

وشكراً جزيلاً
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

كود التحقق هو الدالة التالية :
كود :
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

طبعاً بعد ما تغير المسيمات واسماء الحقول والجدول لما يناسب مشروعك ...
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#3
(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

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

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

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


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

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

والـ TextBox إلي أكتب فيه إسمه Car_Number.text
الرد }}}
تم الشكر بواسطة:
#6
كود :
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
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#7
(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 & "' ;")
الرد }}}
تم الشكر بواسطة:
#8
ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#9
(14-09-24, 06:34 AM)Taha Okla كتب : ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 295 01-11-25, 10:54 PM
آخر رد: justforit
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 820 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 795 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,212 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,019 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 993 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  سبب تكرار رسالة التنبيه مصمم هاوي 4 423 03-05-25, 02:05 PM
آخر رد: مصمم هاوي
  تعديل كود تحديث البيانات مصمم هاوي 1 781 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 696 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 659 24-04-25, 12:58 PM
آخر رد: foad8920

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم