RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24
إنتظرني حتى أعود من العمل على الساعة 4 العصر سأعمل لك مشروع مصغر
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24
أخ طه مارأيك في هذا الكود
كود :
Imports System.Data.OleDb
Public Class Form1
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\students.accdb"
Dim con As New OleDbConnection(str)
Dim ds As New DataSet
Private Sub dgds(ByVal d As DataSet)
If dgv1.InvokeRequired Then
dgv1.Invoke(New Action(Of DataSet)(AddressOf dgds), d)
Else
dgv1.DataSource = d
End If
End Sub
Private Sub dgv(ByVal d As String)
If dgv1.InvokeRequired Then
dgv1.Invoke(New Action(Of String)(AddressOf dgv), d)
Else
dgv1.DataMember = d
End If
End Sub
Private Sub gd()
dgds(Nothing)
dgv(Nothing)
ds.Clear()
Dim da As New OleDbDataAdapter("select Car_info from Car_Number", con)
da.Fill(ds, "Car_Number")
dgds(ds)
dgv("Car_Number")
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
begin()
End Sub
Private Sub begin()
Dim ath As New Threading.Thread(AddressOf gd)
If ath.IsAlive = False Then
ath.Start()
End If
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If isfound(TextBox1.Text) Then
MsgBox("لقد قمت بإدخال رقم مركبة موجود بالفعل", MsgBoxStyle.Critical, "")
Exit Sub
End If
If addnew(TextBox1.Text) Then
MsgBox("تم الحفظ", MsgBoxStyle.Information, "")
Else
MsgBox("لم يتم الحفظ لوجود خطا", MsgBoxStyle.Critical, "")
End If
End Sub
Private Function isfound(ByVal txt As String) As Boolean
Dim cm As New OleDbCommand("select count(tid) from s1 where id_number=@id_number", con)
cm.Parameters.AddWithValue("@id_number", txt)
If con.State = ConnectionState.Closed Then
con.Open()
End If
If cm.ExecuteScalar > 0 Then
Return True
Else
Return False
End If
End Function
Private Function addnew(ByVal txt As String) As Boolean
Dim cm As New OleDbCommand("insert into s1(id_number) values(@id_number)", con)
cm.Parameters.AddWithValue("@id_number", txt)
If con.State = ConnectionState.Closed Then
con.Open()
End If
Try
cm.ExecuteNonQuery()
begin()
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
هل يمكن أن يعمل على مشروعي
الكود كبير ولا أعرف كيف أتعامل معه
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24
هذا نفس المشروع إلي سويته مصغر
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24
عيد مشروعك مع قاعدة بيانات Access 2013 ثم ارفعه مره ثانية
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24
سم طال عمرك المشروع مع قاعدة بيانات Access 2013
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24
أمر الحفظ :
كود :
Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
Dim r1, r2 As Integer
r1 = ExScalar("Select Count(Car_Number) From Car_info Where Car_Number='" & Car_Number.Text.Trim() & "'")
r2 = ExScalar("Select Count(Car_Qaedah_Number) From Car_info Where Car_Qaedah_Number='" & Car_Qaedah_Number.Text.Trim() & "'")
If r1 > 0 Then
MsgBox("لوحة هذه المركبة مسجلة مسبقاً - يرجى التأكد قبل الحفظ", vbOKOnly + vbExclamation, "Warrning")
Car_Number.Focus()
Exit Sub
ElseIf r2 > 0 Then
Dim msgR2 As DialogResult
msgR2 = MsgBox("شاصيه هذه المركبة مسجل مسبقاً" + vbNewLine + "اختر : " + vbNewLine + " 'نعم/Yes' " + vbNewLine + "اذا كنت تريد تجاهل الامر والاستمرار بالحفظ" + vbNewLine + " ", vbYesNo + vbExclamation, "Warrning")
If msgR2 <> DialogResult.Yes Then
Car_Qaedah_Number.Focus()
Exit Sub
End If
End If
Insert_Car_info(Car_ID.Text, Car_Number.Text, Car_Module.Text, Car_Tybe.Text, Car_Qesem.Text, Car_Molahthat.Text, Car_Qaedah_Number.Text, Car_Halah.Text)
SelectAll_Car_info(dgv_Car_info)
DataGridViewHeaderText(dgv_Car_info)
ClearControls()
Car_ID.Text = Max_Car_info() + 1
End Sub
الكود في الـ Module يصبح :
كود :
Imports System.Data.OleDb
Module Module1
Public strConn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=alyat2.accdb;Jet OLEDB:Database Password="
Public con As New OleDbConnection(strConn)
Public Function ExScalar(cmdText As String, ParamArray pParam As OleDbParameter()) As Object
Using pConn As New OleDbConnection(strConn) ' جملة الاتصال بقاعدة البيانات
pConn.Open()
Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)
For Each p In pParam
cmd.Parameters.Add(p)
Next
Dim ob As Object
ob = cmd.ExecuteScalar()
Return ob
End Using
End Function
End Module
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 14-09-24
الله يعطيك العافية يالغالي
إشتغل على المشروع إلي أرسلته لك لكن عندما نقلت الأكواد للمشروع الرئيسي طلع لي خطأ عند الضغط على زر الحفظ في الموديول
مع العلم الداتا بيس الخاصة بمشروعي بها كلمة مرور ووضعته بعد كلمة Password في الكود
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 14-09-24
خلي كود في الـ Module :
كود :
Imports System.Data.OleDb
Module Module1
Public strConn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=alyat2.accdb;Jet OLEDB:Database Password="
Public con As New OleDbConnection(strConn)
Public Function ExScalar(cmdText As String) As Integer
Using pConn As New OleDbConnection(strConn) ' جملة الاتصال بقاعدة البيانات
pConn.Open()
Dim cmd As OleDbCommand = New OleDbCommand(cmdText, pConn)
Return cmd.ExecuteScalar()
End Using
End Function
End Module
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - Taha Okla - 15-09-24
أو خلي الـ Module كما قلنا سابقا في المشاركة 16# -- وعدل فقط زر الحفظ ليصبح :
كود :
Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
Dim r1, r2 As Integer
Dim P1 As OleDbParameter = New OleDbParameter("@Car_Number", Car_Number.Text)
r1 = ExScalar("Select Count(Car_Number) From Car_info Where Car_Number=@Car_Number ", P1)
Dim P2 As OleDbParameter = New OleDbParameter("@Car_Qaedah_Number", Car_Qaedah_Number.Text)
r2 = ExScalar("Select Count(Car_Qaedah_Number) From Car_info Where Car_Qaedah_Number=@Car_Qaedah_Number ", P2)
If r1 > 0 Then
MsgBox("لوحة هذه المركبة مسجلة مسبقاً - يرجى التأكد قبل الحفظ", vbOKOnly + vbExclamation, "Warrning")
Car_Number.Focus()
Exit Sub
ElseIf r2 > 0 Then
Dim msgR2 As DialogResult
msgR2 = MsgBox("شاصيه هذه المركبة مسجل مسبقاً" + vbNewLine + "اختر : " + vbNewLine + " 'نعم/Yes' " + vbNewLine + "اذا كنت تريد تجاهل الامر والاستمرار بالحفظ" + vbNewLine + " ", vbYesNo + vbExclamation, "Warrning")
If msgR2 <> DialogResult.Yes Then
Car_Qaedah_Number.Focus()
Exit Sub
End If
End If
Insert_Car_info(Car_ID.Text, Car_Number.Text, Car_Module.Text, Car_Tybe.Text, Car_Qesem.Text, Car_Molahthat.Text, Car_Qaedah_Number.Text, Car_Halah.Text)
SelectAll_Car_info(dgv_Car_info)
DataGridViewHeaderText(dgv_Car_info)
ClearControls()
Car_ID.Text = Max_Car_info() + 1
End Sub
RE: هل يوجد كود لعدم تكرار نفس البيانات ببعض الحقول - F.H.M - 15-09-24
الله يرزقك الجنة أنت ومن تحب عز الله ماقصرت الله يحفظك دنيا وآخره
باقي شغلتين وأسلم المشروع غداً الإثنين بإذن الله إذا تساعدني فيهم الله يجزاك خير
الأول كتبته بهذا الموضوع
http://vb4arb.com/vb/showthread.php?tid=50295
والآخر أريد المستخدم بعد الدخول للبرنامج يستطيع تغيير كلمة المرور بالضغط على زر بالشاشة الرئيسية كما بالصورة المرفقة وتعديل كلمة المرور بالفورم المرفق أيضاً
|