tecno2012 كتب :لدي جدول للطلاب يحتوي على معلومات اسم الطالب ورقم الطالب ورقم الصف والشعبة للطالبة
اعمل اضافة لاسماء الطلاب من خلال صفحة يقوم باختيار الصف ثم الشعبة وبعدها يظهر grid view يعمل اضافة لاسماء الطلاب في هذا الصف والشعبة ونعمل اضافة
السؤال:اريد الية لعمل رقم الطالب بحيث لا يتكرر ? انا عملت الية لرقم الطالب يتكون من خانة لرقم الصف وخانه لرقم الشعبة والباقي رقم متسلسل ولكنني اجدها غير فاعلة
السلام عليكم ورحمة الله و بركاته
------------------------
اخي الكريم
هناك طريقتان وكلاهما يبدأ بـــ
سوف اخذ مثال في شرحي علي قاعدة بيانات اكسس
عمل جدول وليكن اسمه data
عمل عمود و نسميه id علي سبيل المثال
و في خانة data type نختار auto number
الان اصبح لدينا عمود عند اضافة اي بيان جديدة يأخذ هوا الترقيم التلقائي 1 ,2 ,3 الخ
الطريقة الاولي .....
و هي عدم اضافة تكست بوكس لأظار الرقم للعميل
اي عندما يضيف العميل بيان جديد سوف يأخذ الرقم المسلسل تلقائيا
ويكون استخدامك ليه برمجيا اي
وليكن اذا اردت حذف بيان محدد
كود :
Public cnn As New OleDb.OleDbConnection
Public cmd As New OleDb.OleDbCommand
كود :
Dim ro As Integer = DataGridView1.CurrentRow.Index
delnum = DataGridView1.Rows(ro).Cells("id").Value
cmd.CommandText = "DELETE FROM data WHERE num='" & delnum & "' "
و الطريقة الثانية .......
هي اظهاره للمستخدم في تكست بوكس لا يمكن التعديل عليه
وليكن تكست بوكس 1
في الخصائص للتكس بوكس اختار
Enabled = False
و الان يمكن عرض الرقم في التكست بوكس عن طريق
اذا كنت تريد اضافة بيان جديد
كود :
Dim da As New OleDb.OleDbDataAdapter("SELECT * From data order by id", cnn)
Dim dt As New DataTable
da.Fill(dt)
textbox1.text = dt.rows.count + 1
اما اذا كنت تريد عرض بيان سابق
كود :
Dim da As New OleDb.OleDbDataAdapter("SELECT * From data where id=" & editnum & " order by id", cnn)
Dim dt As New DataTable
da.Fill(dt)
textbox1.text = dt.rows(0).item("id")
حيث ان editnum هو الرقم المسلسل للبيان المراد التعديل عليه
اتمني اني اكون حليت المشكلتك
و في كلا الحالتين عند حفظ بيان جديد لاتقوم بحفظ اي شئ في خانة id
لان الرقم سوف يكون مسجل تلقائيا
لا تنساني من صالح دعائك
السلام عليكم و رحمة الله