الأخوة الأعزاء
السلام عليكم ورحمة الله وبركاته ،،،
عملت برنامج بالفيجوال بيسك 2022 وقاعدة بيانات Access 2019 وأريد منع بإدخال نفس البيانات في بعض الحقول مثل رقم الهوية الوطنية في حال تم تكرار نفس الرقم تخرج رسالة تقول بأنه تم إدخال هذا الرقم سابقاً
وشكراً جزيلاً
وعليكم السلام ورحمة الله وبركاته
كود التحقق هو الدالة التالية :
كود :
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
طبعاً بعد ما تغير المسيمات واسماء الحقول والجدول لما يناسب مشروعك ...
(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
طبعاً بعد ما تغير المسيمات واسماء الحقول والجدول لما يناسب مشروعك ...
أشكرك أخي العزيز طه عسى الله لايحرمنا منك
ظهر لي خطأ برمجي
لاحظ الفاصلة في النهاية .. امسحها..
حاول ان تقرأ الكود وتصححه ...
حذفت الفاصلة في النهاية ومازال الخطأ موجود
الجدول إسمه Car_info
الحقل المطلوب عدم التكرار فيه اسمه Car_Number
والـ TextBox إلي أكتب فيه إسمه Car_Number.text
كود :
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
(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 & "' ;")
ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..
(14-09-24, 06:34 AM)Taha Okla كتب : [ -> ]ارفع مشروعك
يا ريت ما تكون بتعتمد ع ادوات خارجية ..
حتى يشتغل عندنا ..
ألا يوجد حل غير رفع المشروع
لأن المشروع خاص بالعمل وممنوع نشره
اصنع مشروع مصغر عنه النافذة التي فيها المشكلة (ويكون شغال - وليس بدون أكواد)
ونفس عناصر قاعدة البيانات ...