منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طلب اضافة السجلات بالترتيب بزيادة رقم الكود بمقدار واحد فقط
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

احبابي في الله

كيف يمكنني  اضافة السجلات بالترتيب بزيادة رقم الكود بمقدار واحد فقط على اخر سجل

مثال : لو عندنا اسماء التلاميذ  ورقم كود التلميذ  والسن والنتيجة

 محمد        1          15سنة           50 درجة
احمد          2          13سنة           48درجة
هاني          3          12سنة           49درجة

اريد اضافة سجل جديد 

بمجرد الضغط على زر اضافة طالب  يظهر في خانة رقم الكود 4 اوتوماتيك ثم اقوم انا بإدخال الاسم والسن والدرجة ثم اضغط على زر حفظ

ولو اردت اضافة سجل اخر            يظهر رقم الكود 5 اوتوماتيكيا  وهكذا

 مرفق مثال للتعديل
Smile Smile Smile Smile Smile
انا دخلت على المثال ولم اجد كود واحد حتى استطيع ان أفيدك بالشكل المطلوب .. 


على كل حال التكست بوكس حق الرقم  جعلته لاتستطيع التعديل عليه عشان ياخذ الرقم تلقائي .

كود :
txtCode.Text = DataSet1.Tables("tbl_Students").Compute("Max(std_Code)", "std_Code >= 0") + "1"


تفضل مثالك مع التعديل
(03-04-16, 09:19 AM)khodor1985 كتب : [ -> ]السلام عليكم أخي العزيز ورحمة الله وبركاته

المرفق بعد التعديل :  

الأكواد :
قم بالإعلان عن المتغيرات التالية :
PHP كود :
 Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Data.accdb")
 
   Dim cmd As OleDbCommand
    Dim da 
As OleDbDataAdapter
    Dim ds 
As DataSet
    Dim sqlstr 
As String 

زر الإضافة :
PHP كود :
 Try
            txtName
.Clear()
 
           txtAge.Clear()
 
           txtDegree.Clear()
 
           con.Open()
 
           sqlstr "SELECT MAX(std_Code) +1 FROM tbl_Students"
 
           cmd = New OleDbCommand(sqlstrcon)
 
           da = New OleDbDataAdapter(cmd)
 
           ds = New DataSet
            ds
.Clear()
 
           da.Fill(ds"tbl_Students")

 
           txtCode.Text ds.Tables("tbl_Students").Rows(0).Item(0).ToString()

 
           con.Close()
 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           MsgBox(ex.Message)
 
       End Try 

زر الحفظ :
PHP كود :
Try
 
           con.Open()

 
           sqlstr "INSERT INTO tbl_Students(std_Code,std_Name,std_Age,std_Degree) " _
                     
"Values(@std_Code,@std_Name,@std_Age,@std_Degree)"

 
           cmd = New OleDbCommand(sqlstrcon)
 
           With cmd.Parameters
                
.Add("@std_Code"OleDbType.Integer).Value IIf(txtCode.Text.Trim.Length 0System.DBNull.ValuetxtCode.Text)
 
               .Add("@std_Name"OleDbType.VarWChar).Value IIf(txtName.Text.Trim.Length 0System.DBNull.ValuetxtName.Text)
 
               .Add("@std_Age"OleDbType.VarWChar).Value IIf(txtAge.Text.Trim.Length 0System.DBNull.ValuetxtAge.Text)
 
               .Add("@std_Degree"OleDbType.VarWChar).Value IIf(txtDegree.Text.Trim.Length 0System.DBNull.ValuetxtDegree.Text)
 
           End With

            cmd
.ExecuteNonQuery()
 
           MsgBox("Record Saved Successfully")

 
           con.Close()

 
           txtCode.Clear()
 
           txtName.Clear()
 
           txtAge.Clear()
 
           txtDegree.Clear()

 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           MsgBox(ex.Message)
 
       End Try 

صورة عن المشروع :



أتمنى لك التوفيق

الطريقة الثانية في زيادة رقم الكود بمقدار واحد :
المرفق بعد التعديل :

زر الإضافة :
PHP كود :
Try
 
           txtName.Clear()
 
           txtAge.Clear()
 
           txtDegree.Clear()
 
           con.Open()
 
           sqlstr "SELECT * FROM tbl_Students"
 
           cmd = New OleDbCommand(sqlstrcon)
 
           da = New OleDbDataAdapter(cmd)
 
           ds = New DataSet
            ds
.Clear()
 
           da.Fill(ds"tbl_Students")

 
           Dim max As Integer
            max 
ds.Tables("tbl_Students").Rows.Count
            txtCode
.Text CStr(max) + 1

            con
.Close()
 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           MsgBox(ex.Message)
 
       End Try 

صورة عن الكود :


أتمنى لك التوفيق

الطريقة الثالثة : زيادة رقم بمقدار واحد من خلال BindingSource ويمكن استخدامها أيضا مع CurrencyManage ومع BindingManagerBase :
المرفق بعد التعديل :

زر الإضافة : (يستحسن أن يسمى جديد وليس زر الإضافة وزر الحفظ بالإضافة)
PHP كود :
Try
 
           txtName.Clear()
 
           txtAge.Clear()
 
           txtDegree.Clear()
 
           con.Open()
 
           sqlstr "SELECT * FROM tbl_Students"
 
           cmd = New OleDbCommand(sqlstrcon)
 
           da = New OleDbDataAdapter(cmd)
 
           ds = New DataSet
            ds
.Clear()
 
           da.Fill(ds"tbl_Students")

 
           bs = New BindingSource
            bs
.DataSource ds.Tables("tbl_Students")

 
           Dim max As Integer
            max 
bs.Count
            txtCode
.Text CStr(max) + 1

            con
.Close()
 
       Catch ex As Exception
            If con
.State ConnectionState.Open Then con.Close()
 
           MsgBox(ex.Message)
 
       End Try 
صور عن الكود المعدل :


أتمنى لك التوفيق

إعلم أخي العزيز أن علم المنطق لا يجيب على الأسئلة، فإذا عرض سؤال على عالم الكيمياء أو عالم الفيزياء أو عالم البرمجة فإن المنطق لن يجيب على كل تلك الأسئلة، فعلم المنطق هو الذي يعلم عالم الكيمياء والفيزياء والرياضيات والمبرمج كيف يجيب على تلك الأسئلة، بمعنى آخر يعلمه كيف يرتب ويركب تلك المعلومات ثم كيف يختار المادة أو المعلومة الصحيحة والمناسبة للإجابة على السؤال.

بناء عليه، علم المنطق هو علم يبحث عن القواعد العامة للتفكير الصحيح، فالنتيجة والغاية والفائدة من علم المنطق هو "التفكير الصحيح".

خلاصة :
إن الشيء يفعل فعله بشروط :
وجود المقتضي
تحقق الشرط
فقدان المانع

لكي يستطيع العقل الإدراك بالشكل الصحيح لا بد من وجود القوة، والقوة هي الذهن ، والذهن هو بمقام الشرط الأول "المقتضي"، والشرط الثاني "تحقق الشرط"  هو ترتيب المعلومات واختيارها، والشرط الثالث "فقدان المانع"  هو الجهل أو التعالي أو التعنت أو الإستبداد بالراي إلى آخره.

أتمنى لك التوفيق

لا استطيع التعبير لك عن مدى شكري أخي العزيز  Smile Smile 

وكل ما استطيع ان اقوله لك  "بارك الله لك وزادك علما على علمك"

Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile