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

نسخة كاملة : اريد كود برنامج جرد بحيت يدخل لي تلقائيا ارقام تسلسلية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اريد كود يعطيني ارقام تسلسلية للجرد بحيت ادا أدخلت رقم جرد متلا 555  في تكستبوكس وكتبت متلا رقم 3 في تكست بوكس اخر يقوم البرنامج يبإدخال 3 اسطر متتالية كل سطر يعطيني فيه رقم جرد متتابع اي 556-557-558  أي بصورة تلقائية يدخل لي 3 أسطر وليس كل مرة أكتب سطر  هدا ما لاحضته في بعض برامج الجرد لكن لم استطع كتابة الكود هل ممكن مساعدة او متال
PHP كود :
For Val(TextBox1.Text) + 1 To Val(TextBox1.Text) + Val(TextBox2.Text)
    
MsgBox(i)
Next 
ممكش شرح بسيط خاصة مع الداتا قريد فيو كيف يمكن من خلال الكود ادخال 3 اسطر متتابعة مرة واحدة بضغطة زر بمجرد تحديد رقم الجرد وعدد الاسطر
PHP كود :
For Val(TextBox1.Text) + 1 To Val(TextBox1.Text) + Val(TextBox2.Text)
 
   Me.DataGridView1.Rows.Add(i)
Next 
ممكن طريقة الاضافة عن طريق جملة الانسرت انا استعمل هدا الكود لادخال البيانات للجدول ممكن تعديل من فضلك

prd.Addbass_invontory(Txt_objet_fullname.Text, Txt_numinventer.Text, Txt_classe.Text, Convert.ToDouble(Txt_num1.Text), Dtp_dateinvontory.Value, Dtp_dateachat.Value, Txt_Notes.Text, Txt_invo_fondamontal.Text)
FillData()
Clear()

هدا كلاس insert
'----------Public Sub Insert----------
Public Sub Addbass_invontory(ByVal objet_fullname As String, ByVal numinventer As String, ByVal classe As String, ByVal num1 As Double, ByVal dateinvontory As Date, ByVal dateachat As Date, ByVal Notes As String, ByVal invo_fondamontal As String)
Dim Query As String
Query = "Insert Into bass_invontory (objet_fullname,numinventer,classe,num1,dateinvontory,dateachat,Notes,invo_fondamontal) Values (@objet_fullname,@numinventer,@classe,@num1,@dateinvontory,@dateachat,@Notes,@invo_fondamontal)"
Dim Cmd As New OledbCommand
Cmd = New OledbCommand(Query, Cn)
Cmd.Parameters.Add(New OleDbParameter("@objet_fullname", OleDbType.VarWChar)).Value = objet_fullname
Cmd.Parameters.Add(New OleDbParameter("@numinventer", OleDbType.VarWChar)).Value = numinventer
Cmd.Parameters.Add(New OleDbParameter("@classe", OleDbType.VarWChar)).Value = classe
Cmd.Parameters.Add(New OleDbParameter("@num1", OleDbType.Double)).Value = num1
Cmd.Parameters.Add(New OleDbParameter("@dateinvontory", OleDbType.Date)).Value = dateinvontory
Cmd.Parameters.Add(New OleDbParameter("@dateachat", OleDbType.Date)).Value = dateachat
Cmd.Parameters.Add(New OleDbParameter("@Notes", OleDbType.VarWChar)).Value = Notes
Cmd.Parameters.Add(New OleDbParameter("@invo_fondamontal", OleDbType.VarWChar)).Value = invo_fondamontal
Cn.open()
Cmd.ExecuteNonQuery()
Cn.close()
MessageBox.Show("Insert SucceFully", "Insert", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

وهدا بوتون الاضافة
Try



prd.Addbass_invontory(Txt_objet_fullname.Text, Txt_numinventer.Text, Txt_classe.Text, Convert.ToDouble(Txt_num1.Text), Dtp_dateinvontory.Value, Dtp_dateachat.Value, Txt_Notes.Text, Txt_invo_fondamontal.Text)
FillData()
Clear()

Catch ex As Exception
MessageBox.Show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
هل تقصد انك تريد كود استعلام من قاعدة البيانات يجلب لك عدد ثلاث سجلات بالتسلسل إبتداءاً من رقم الجرد مثلاً 555 ويتم عرضهم في الداتا قريد فيو
يرجى التوضيح؟


الكود الذي وضعته انت يدل على تعاملك مع قاعدة البيانات وتحاول جلب السجلات بطريقة معينة
الكود الدي فوق صحيح لكن لم أعرف كيفية تطبيقه على جملة الانسرت بحيت يدخل لي المعلومات مع عدد السجلات التي احددها بحيت ادا كتبت 3 سجلات يدخل لي 3 سجلات دفعة واحدة مع ارقام للجرد تسلسلية كما اوضحت فأنا حاليا لا يمكنني سوى ادخال معلومات لسجل واحد فقت في كل مرة احتاج فيها الى كتابة رقم الجرد يعني اريد كود لجملة الانسرت(insert) بحيت يضيف لي عدد سجلات بأرقام تسلسلية للجرد بحسب العدد الدي اكتبه في خانة العدد بحيت ادا كتبت رقم الجرد 555 وعدد 4 يدخل لي بصفة الية 4 سجلات كل سجل يحمل نفس المعلومات مع اختلاف ارقام الجرد يعني السجل الاول 556 التاني 557 التالت 558 وهكدا
كود :
   Private Sub InsertAtOnes()
       ' عدد السجلات المطلوب
       Dim Counter As Integer = 4
       ' رقم الجرد الأولي
       Dim Xx_numinventer_xX As Integer = 555
       ' اضافة السجلات في قاعدة البيانات
       For I As Integer = 1 To Counter
           prd.Addbass_invontory(Txt_objet_fullname.Text, Xx_numinventer_xX, Txt_classe.Text, Convert.ToDouble(Txt_num1.Text), Dtp_dateinvontory.Value, Dtp_dateachat.Value, Txt_Notes.Text, Txt_invo_fondamontal.Text)
           Xx_numinventer_xX += I

       Next

FillData()
   End Sub
(18-12-17, 02:41 AM)عبدالله الدوسري كتب : [ -> ]
كود :
   Private Sub InsertAtOnes()
       ' عدد السجلات المطلوب
       Dim Counter As Integer = 4
       ' رقم الجرد الأولي
       Dim Xx_numinventer_xX As Integer = 555
       ' اضافة السجلات في قاعدة البيانات
       For I As Integer = 1 To Counter
           prd.Addbass_invontory(Txt_objet_fullname.Text, Xx_numinventer_xX, Txt_classe.Text, Convert.ToDouble(Txt_num1.Text), Dtp_dateinvontory.Value, Dtp_dateachat.Value, Txt_Notes.Text, Txt_invo_fondamontal.Text)
           Xx_numinventer_xX += I

       Next

FillData()
   End Sub

شكرا أخي الكريم الكود شغال جيد رائع لكن لا يعطيني رقم تسلسلي بعد  السجل التالت يصبح يزيد رقم على الرقم  متلا اجد 555 تم 556 تم 558 تم 600 يعني يفقد التسلسل