03-08-20, 12:51 AM
03-08-20, 12:51 AM
03-08-20, 02:32 AM
جرب بدل ال varchar بـ Nvarchar اذا كنت تستخدم اللغلة العربية.
أو قم بتدخيل عمود عمود و اتبع اي عمود بة المشكلة
أو قم بتدخيل عمود عمود و اتبع اي عمود بة المشكلة
03-08-20, 04:34 AM
غيرت حقل PRO_CODE_ الى نص بدلا من رقم حفظ ولكن لم يحفظ بيانات فى القاعده الا EZN_CODE , EZN_DATE وباقى البيانات فارغه
03-08-20, 04:42 AM
(03-08-20, 04:34 AM)خالد كامل1 كتب : [ -> ]غيرت حقل PRO_CODE_ الى نص بدلا من رقم حفظ ولكن لم يحفظ بيانات فى القاعده الا EZN_CODE , EZN_DATE وباقى البيانات فارغه
أخى خالد ضع نسخة منم البرنامج مع قاعدة البيانات لمراجعته لأن الموضوع نظريا غير ممكنالفصل فيه
03-08-20, 07:15 AM
السلام عليكم ورحمة الله وبركاته اخي العزيز لقد جربت بنفس الاسماء ونفس نوع الحقول وتم الحفظ للعلم اخي العزيز ان الرقم لا يقبل اكثر من 10 ارقام ولا اعلم اذا هناك طريقه جعله يقبل الشي الثاني ezn_code يجب ان لا يتكرر ويمكنك استخدام جلب اكبر رقم او تقوم بجعل الحقل ترقيم تلقائي من داخل قاعدة البيانات وتحذفه من مكان كود الحفظ وهذا والله ولي التوفيق واتمنى ان تكون المعلومه وصلت
[attachment=25349]
كود :
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[attachment=25349]
03-08-20, 04:24 PM
[attachment=25374]
السلام عليكم ورحمة الله وبركاته
اخي خالد يبدو ان هناك خللا ما حاولت البحث عن اي شيئ يمكن ان يكون هو السبب من خلال الصور والكود الموضوع
عملت لك مثال بسيط بنفس الحقول وهو يعمل عند بدون اي مشكلة جربه عندك
السلام عليكم ورحمة الله وبركاته
اخي خالد يبدو ان هناك خللا ما حاولت البحث عن اي شيئ يمكن ان يكون هو السبب من خلال الصور والكود الموضوع
عملت لك مثال بسيط بنفس الحقول وهو يعمل عند بدون اي مشكلة جربه عندك
03-08-20, 05:08 PM
(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 على الداتا جريد فيو ظبط معى ولكنى مش مستريح اريد ان اعرف السبب لماذا لم يتم الاضافه فى الكود الاول
03-08-20, 06:13 PM
السلام عليكم
اخي ضع نسخة من البرنامج وقاعدة البيانات ليتسنى لجميع الاخوة في تفحص الكود والمساعدة افضل
تحياتي لك
اخي ضع نسخة من البرنامج وقاعدة البيانات ليتسنى لجميع الاخوة في تفحص الكود والمساعدة افضل
تحياتي لك
03-08-20, 08:02 PM
السلام عليكم اخي خالد
من اجل الفانكشن الذي يجلب اكبر قيمة من حقل الاي دي ويضيف لها 1
اولا عد الى قاعدة البيانات حيث تصميم الجدول قم بازالة Primary key عن حقل الاي دي ان كان موجود ثم غير نوع الحقل من AutoNumber الى Number ثم اعد Primary key اليه
واكتب هذا الفنكشن لجلب رقم الاي دي
الان لكي نستخدمه يجب عند الضغط على زر جديد الذي يقوم بتفريغ كل الحقول وحقل الاي دي سيضع فيه القيمة العائدة من الفنكشن
اكتب هذا الصب لتفريغ الادوات
الان في زر جديد استدعي صب تفريغ الادوات
وبالتوفيق
ملاحظة: بعد عمل ماسبق يجب الانتباه الى جملة الحفظ واضافة حقل الايدي في جملة الحفظ مع الباراميتر لاننا في السابق عندما كان حقل الاي دي ترقيم تلقائي
كانت مهمة اضافة الترقيم من مهام قاعدة البيانات نفسها
من اجل الفانكشن الذي يجلب اكبر قيمة من حقل الاي دي ويضيف لها 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()ملاحظة: بعد عمل ماسبق يجب الانتباه الى جملة الحفظ واضافة حقل الايدي في جملة الحفظ مع الباراميتر لاننا في السابق عندما كان حقل الاي دي ترقيم تلقائي
كانت مهمة اضافة الترقيم من مهام قاعدة البيانات نفسها
03-08-20, 09:49 PM
أشكر الاستاذ ابراهيم وجميع الاساتذه في هذا المنتدى الغالي
اخي العزيز خالد لو كان لديك دفتر فواتير واردت ازالة فاتورة هل ستطبع من جديد نفس الفاتوره فالافضل اينما الرقم يصل يكمل المشوار من وجهة نظري
فلا علم لي ما هو الكود المناسب
اخي العزيز خالد لو كان لديك دفتر فواتير واردت ازالة فاتورة هل ستطبع من جديد نفس الفاتوره فالافضل اينما الرقم يصل يكمل المشوار من وجهة نظري
فلا علم لي ما هو الكود المناسب