تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في الترقيم التلقائي للطلبة حسب السنة الدراسية
#1
السلام عليكم 


إخواني لدى ثلاثة سنوات دراسية (الصف الاول . الصف الثاني, الصف الثالث ) و هي قيمة textbox3
اريد عمل رقم دراسي لكل طالب حسب السنة الدراسية 
إذا كان السنة الاولى تبدأ الارقام من 100 
إذا كان السنة الثانية تبدأ الارقام من 200 
و إذا كان السنة الثالثة تبدأ الارقام من 300 
textbox1 هو الترقيم المتسلسل للطلبة 
حاولت عمل الكود التالي و لكن للأسف لم ينجح 
كود :
 Function add_id()
       Dim noa As Integer
       Dim billno As New OleDbCommand("SELECT max(std_no) From stdinfo WHERE (((stdinfo.std_year)=" & TextBox3.Text.Trim & "))", cn)
       'If cn.State = ConnectionState.Open Then con.Close()
       If cn.State = ConnectionState.Closed Then
           cn.Open()
       End If
       If billno.ExecuteScalar IsNot DBNull.Value Then
           noa =1
       Else
           noa = billno.ExecuteScalar + 1
       End If
       Return noa
   End Function


و أستدعيت الدالة هنا 

كود :
Private Sub TextBox3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
       If TextBox3.Text = 1 Then
           If add_id() = 1 Then
               TextBox1.Text = 100

           End If
       End If
       If TextBox3.Text = 2 Then
           If add_id() = 1 Then
               TextBox1.Text = 200

           End If

       End If
       If TextBox3.Text = 3 Then
           If add_id() = 1 Then
               TextBox1.Text = 300

           End If
       End If
   End Sub
لكن للأسف دائما الدالة ترجع بيقمة (1) بالرغم من وجود سجل يحمل رقم طالب
الرد
تم الشكر بواسطة:
#2
بعد جهد ليس بقليل .. 
جللت المشلة ولله الحمد 
و الكود التالي يوضح الحل لعل احد المتصغحين يستفيد منه 
كود :
Function add_id()
       Dim noa As Integer
       Dim billno As New OleDbCommand("SELECT max(std_no) From stdinfo WHERE (((stdinfo.std_year)=" & TextBox3.Text.Trim & "))", cn)

       
       Dim total = Convert.ToInt32(IsDBNull(billno.ExecuteScalar))
       If cn.State = ConnectionState.Closed Then
           cn.Open()
       End If
       If IsDBNull(total.ToString) Then
           noa = 1
       Else
           If IsDBNull(billno.ExecuteScalar) Then
               noa = 1
           Else
               noa = total.ToString(billno.ExecuteScalar) + 1
           End If


       End If
       Return noa
   End Function
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [SQL] مشكلة في ربط قاعدة البيانات SQLSERVER2014 بـ فيجول بيسك 2017 اباذر 4 264 16-03-19, 12:00 AM
آخر رد: اباذر
  مشكلة في كود صلاحيات المستخدمين مصمم هاوي 4 245 30-01-19, 06:32 PM
آخر رد: عبد العزيز البسكري
  مشكلة قاعدة البيانات لا تقبل البيانات بعد التنصيب abozeyd 8 621 10-09-18, 08:02 AM
آخر رد: elgokr
  [سؤال] الترقيم التلقائي مع رمز معين في vb.net مراد بورجي 11 6,837 26-07-18, 11:31 PM
آخر رد: bajo
  [VB.NET] مشكلة فى زر Login الخاص بشاشة الدخول Michael Maher 6 1,187 18-05-18, 02:14 AM
آخر رد: Michael Maher
  مشكلة حفظ تعديلات الداتاقريد دمعة المقهور 7 2,691 22-04-18, 06:32 PM
آخر رد: دمعة المقهور
  [VB.NET] استعادة الترقيم التلقائي محمد اسماعيل 10 1,107 04-01-18, 11:15 PM
آخر رد: عبد العزيز البسكري
  [SQL] مشكلة تواجهنى عند محاولة استرجاع قاعده بيانات ahmedmansour 1 557 27-11-17, 09:39 PM
آخر رد: حريف برمجة
  [VB.NET] مشكلة في تحديث البيانات larbihamri 2 587 04-11-17, 07:37 PM
آخر رد: larbihamri
Rainbow اعادة التسلسل التلقائي للــ ID في الاكسس .. جنيت ناريمان 9 12,016 21-09-17, 02:09 AM
آخر رد: mohammed alnour

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


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