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

فى كود الحفظ والاضافه يظهر لى خذا الخطأ وراجعت كل شئ فلم اجدد سببا لذلك

والصور توضح الكود وحقول الجدول والخطأ

























الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , essawq , asemshahen5
#2
جرب بدل ال varchar بـ Nvarchar اذا كنت تستخدم اللغلة العربية.

أو قم بتدخيل عمود عمود و اتبع اي عمود بة المشكلة

الرد }}}
#3
غيرت حقل PRO_CODE_ الى نص بدلا من رقم حفظ ولكن لم يحفظ بيانات فى القاعده الا EZN_CODE , EZN_DATE وباقى البيانات فارغه
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , essawq , WaeLx , asemshahen5
#4
(03-08-20, 04:34 AM)خالد كامل1 كتب : غيرت حقل PRO_CODE_ الى نص بدلا من رقم حفظ ولكن لم يحفظ بيانات فى القاعده الا EZN_CODE , EZN_DATE وباقى البيانات فارغه

أخى خالد ضع نسخة منم البرنامج مع قاعدة البيانات لمراجعته لأن الموضوع نظريا غير ممكنالفصل فيه
الرد }}}
#5
السلام عليكم ورحمة الله وبركاته اخي العزيز لقد جربت بنفس الاسماء ونفس نوع الحقول وتم الحفظ للعلم اخي العزيز ان الرقم لا يقبل اكثر من 10 ارقام ولا اعلم اذا هناك طريقه جعله يقبل الشي الثاني ezn_code يجب ان لا يتكرر ويمكنك استخدام جلب اكبر رقم او تقوم بجعل الحقل ترقيم تلقائي من داخل قاعدة البيانات وتحذفه من مكان كود الحفظ وهذا والله ولي التوفيق واتمنى ان تكون المعلومه وصلت

كود :
    Dim Cmd As New OleDbCommand
       With Cmd
           .Connection = con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into ozenat ( ezn_code,ezn_date,reson_,pro_code_,pro_name_,qty_,user_name)values(@ezn_code,@ezn_date,@reson_,@pro_code_,@pro_name_,@qty_,@user_name)"
           .Parameters.Clear()
           .Parameters.AddWithValue("@ezn_code", ezn_code.Text)
           .Parameters.AddWithValue("@ezn_date", ezn_date.Value)
           .Parameters.AddWithValue("@reson_", reson_.Text)
           .Parameters.AddWithValue("@pro_code_", pro_code_.Text)
           .Parameters.AddWithValue("@pro_name_", pro_name_.text)
           .Parameters.AddWithValue("@qty_", qty_.Text)
           .Parameters.AddWithValue("@user_name", user_name.Text)
       End With
       If con.State = 1 Then con.Close()
       con.Open()
       Cmd.ExecuteNonQuery()
       con.Close()
       MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
       Cmd = Nothing

   
الرد }}}
#6

.zip   Ezen.zip (الحجم : 107.43 ك ب / التحميلات : 3)

السلام عليكم ورحمة الله وبركاته 
اخي خالد يبدو ان هناك خللا ما حاولت البحث عن اي شيئ يمكن ان يكون هو السبب من خلال الصور والكود الموضوع
عملت لك مثال بسيط بنفس الحقول وهو يعمل عند بدون اي مشكلة جربه عندك
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: WaeLx , WaeLx , essawq , حريف برمجة , مصطفى السعدي , asemshahen5
#7
(03-08-20, 07:15 AM)alshandodi كتب : السلام عليكم ورحمة الله وبركاته اخي العزيز لقد جربت بنفس الاسماء ونفس نوع الحقول وتم الحفظ للعلم اخي العزيز ان الرقم لا يقبل اكثر من 10 ارقام ولا اعلم اذا هناك طريقه جعله يقبل الشي الثاني ezn_code يجب ان لا يتكرر ويمكنك استخدام جلب اكبر رقم او تقوم بجعل الحقل ترقيم تلقائي من داخل قاعدة البيانات وتحذفه من مكان كود الحفظ وهذا والله ولي التوفيق واتمنى ان تكون المعلومه وصلت

كود :
    Dim Cmd As New OleDbCommand
       With Cmd
           .Connection = con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into ozenat ( ezn_code,ezn_date,reson_,pro_code_,pro_name_,qty_,user_name)values(@ezn_code,@ezn_date,@reson_,@pro_code_,@pro_name_,@qty_,@user_name)"
           .Parameters.Clear()
           .Parameters.AddWithValue("@ezn_code", ezn_code.Text)
           .Parameters.AddWithValue("@ezn_date", ezn_date.Value)
           .Parameters.AddWithValue("@reson_", reson_.Text)
           .Parameters.AddWithValue("@pro_code_", pro_code_.Text)
           .Parameters.AddWithValue("@pro_name_", pro_name_.text)
           .Parameters.AddWithValue("@qty_", qty_.Text)
           .Parameters.AddWithValue("@user_name", user_name.Text)
       End With
       If con.State = 1 Then con.Close()
       con.Open()
       Cmd.ExecuteNonQuery()
       con.Close()
       MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
       Cmd = Nothing

اشكرك على تعبك معى اخى الكريم ولكنى اتساءل ما هو افضل كود للترقيم التلقائى بحيث يبحث عن اكبر رقم ويضف الرقم الذى يليه وكذلك يبحث عن جميع لارقام بالترتيب وان وجد رقما فى الترتيب ناقص يضعه فى غعمليه اضافه جديده 

(03-08-20, 04:24 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته 
اخي خالد يبدو ان هناك خللا ما حاولت البحث عن اي شيئ يمكن ان يكون هو السبب من خلال الصور والكود الموضوع
عملت لك مثال بسيط بنفس الحقول وهو يعمل عند بدون اي مشكلة جربه عندك

اخى ابراهيم اشكرك كثيرا كثيرا على سرعه التجاوب مع سءوالى وتلك عادتك الدائمه المساعده و\باسرع وقت ممكن 
ولى طلب اخر قد طلبته من اخى   alshandodi       
اشكرك على تعبك معى اخى الكريم ولكنى اتساءل ما هو افضل كود للترقيم التلقائى بحيث يبحث عن اكبر رقم ويضف الرقم الذى يليه وكذلك يبحث عن جميع لارقام بالترتيب وان وجد رقما فى الترتيب ناقص يضعه فى غعمليه اضافه جديده

(03-08-20, 07:15 AM)alshandodi كتب : السلام عليكم ورحمة الله وبركاته اخي العزيز لقد جربت بنفس الاسماء ونفس نوع الحقول وتم الحفظ للعلم اخي العزيز ان الرقم لا يقبل اكثر من 10 ارقام ولا اعلم اذا هناك طريقه جعله يقبل الشي الثاني ezn_code يجب ان لا يتكرر ويمكنك استخدام جلب اكبر رقم او تقوم بجعل الحقل ترقيم تلقائي من داخل قاعدة البيانات وتحذفه من مكان كود الحفظ وهذا والله ولي التوفيق واتمنى ان تكون المعلومه وصلت

كود :
    Dim Cmd As New OleDbCommand
       With Cmd
           .Connection = con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into ozenat ( ezn_code,ezn_date,reson_,pro_code_,pro_name_,qty_,user_name)values(@ezn_code,@ezn_date,@reson_,@pro_code_,@pro_name_,@qty_,@user_name)"
           .Parameters.Clear()
           .Parameters.AddWithValue("@ezn_code", ezn_code.Text)
           .Parameters.AddWithValue("@ezn_date", ezn_date.Value)
           .Parameters.AddWithValue("@reson_", reson_.Text)
           .Parameters.AddWithValue("@pro_code_", pro_code_.Text)
           .Parameters.AddWithValue("@pro_name_", pro_name_.text)
           .Parameters.AddWithValue("@qty_", qty_.Text)
           .Parameters.AddWithValue("@user_name", user_name.Text)
       End With
       If con.State = 1 Then con.Close()
       con.Open()
       Cmd.ExecuteNonQuery()
       con.Close()
       MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
       Cmd = Nothing
نفس الخلل اخى الكريم
وعند ياسر استعملت loop على الداتا جريد فيو ظبط معى ولكنى مش مستريح اريد ان اعرف السبب لماذا لم يتم الاضافه فى الكود الاول
الرد }}}
تم الشكر بواسطة: alshandodi , asemshahen5 , asemshahen5 , حريف برمجة
#8
السلام عليكم
اخي ضع نسخة من البرنامج وقاعدة البيانات ليتسنى لجميع الاخوة في تفحص الكود والمساعدة افضل
تحياتي لك
الرد }}}
تم الشكر بواسطة: WaeLx , WaeLx , حريف برمجة , حريف برمجة , alshandodi , asemshahen5
#9
السلام عليكم اخي خالد
من اجل الفانكشن الذي يجلب اكبر قيمة من حقل الاي دي ويضيف لها 1 
اولا عد الى قاعدة البيانات حيث تصميم الجدول قم بازالة Primary key عن حقل الاي دي ان كان موجود ثم غير نوع الحقل من AutoNumber الى Number ثم اعد Primary key اليه 
واكتب هذا الفنكشن لجلب رقم الاي دي
كود :
Public Function MaxID_ozenat() As DataTable
       Dim Query As String = "Select IIF(MAX(ezn_ID) IS Null,1,MAX(ezn_ID)+1) From ozenat"
       Dim Cmd As New OleDbCommand()
       Dim dt As New dataTable()
       dt.Clear()
       Cmd = New OleDbCommand(Query, Con)
       Dim da As New OleDbDataAdapter(Cmd)
       da.Fill(dt)
       Return (dt)
   End Function
الان لكي نستخدمه يجب عند الضغط على زر جديد الذي يقوم بتفريغ كل الحقول وحقل الاي دي سيضع فيه القيمة العائدة من الفنكشن

اكتب هذا الصب لتفريغ الادوات
كود :
Public Sub Cleardata_ozenat()
       Txt_ezn_ID.Text = ""
       Txt_ezn_code.Text = ""
       Dtp_ezn_date.Value = Now.ToString("dd/MM/yyyy")
       Txt__reson.Text = ""
       Txt__pro_code.Text = ""
       Txt__pro_name.Text = ""
       Txt__qty.Text = ""
       Txt__user_name.Text = ""
       Txt_ezn_code.focus()
       Txt_ezn_ID.Text = MaxId_ozenat.Rows(0)(0)
   End Sub
الان في زر جديد استدعي صب تفريغ الادوات
كود :
Cleardata_ozenat()
وبالتوفيق
ملاحظة: بعد عمل ماسبق يجب الانتباه الى جملة الحفظ واضافة حقل الايدي في جملة الحفظ مع الباراميتر لاننا في السابق عندما كان حقل الاي دي ترقيم تلقائي
كانت مهمة اضافة الترقيم من مهام قاعدة البيانات نفسها
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#10
أشكر الاستاذ ابراهيم وجميع الاساتذه في هذا المنتدى الغالي 
اخي العزيز خالد لو كان لديك دفتر فواتير واردت ازالة فاتورة هل ستطبع من جديد نفس الفاتوره فالافضل اينما الرقم يصل يكمل المشوار من وجهة نظري 
فلا علم لي  ما هو الكود المناسب
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ارجو التعديل على الدالة المرفقة - الدالة تعيد الرقم -1 new_programer 4 91 20-03-24, 01:18 PM
آخر رد: تركي الحلواني
  ارجو الافادة للضرورة mohamed sabry 1 110 13-01-24, 03:37 AM
آخر رد: Taha Okla
  ارجو المساعدة فى شاشة طباعة الباركود new_programer 10 577 09-01-24, 08:41 PM
آخر رد: new_programer
  [سؤال] اخوان الاعزاء ارجو مساعدتى في حل عرض بيانات في تقرير كريستال ريبورت nazarakrawi 8 3,907 21-08-23, 11:11 PM
آخر رد: mohamed Matrix
  [SQL] يوجد لدى خطأبرمجى ارجو المساعدة عاصم النجار 6 503 26-07-23, 05:22 PM
آخر رد: عبد الخالق
  اخوانى الاحباب ارجو المساعدة فى كود النسخ واللصق mhareek 1 438 15-07-23, 02:52 PM
آخر رد: أبووسم
  [VB.NET] ارجو المساعده مرفق سورس كود البرنامج فى المطلوب المساعده فيه hanyeltnen 2 611 04-02-23, 01:30 AM
آخر رد: aljzazy
  [سؤال] ارجو المساعدة YasirAZ 0 388 04-02-23, 12:01 AM
آخر رد: YasirAZ
  [سؤال] ارجو المساعدة فى هذا الكود medo_ali972 11 1,161 27-12-22, 11:44 AM
آخر رد: medo_ali972
  [VB.NET] ارجو منكم المساعدة اخوتي و اصدقائي sher 1 313 20-12-22, 01:02 AM
آخر رد: Jounior_P

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


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