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

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

الحمد لله البرنامج يعمل بشكل سليم ولكن في بعض الأحيان يتوقف زر الحفظ Save عند الضغط عليه ولا يقوم بحفظ البيانات ولا تظهر الرسالة المُعتاد 

علمًا بأني استخدم قاعدة بيانات أكسس، هل أقوم بتغيير شيء في الكود سواء بالأضافة أو التغيير والحذف لحل هذه المُشكلة وجزاكم الله خيراً  


الكود المُستخدم في الحفظ هو ما يلي : ،   
PHP كود :
​ 
PHP كود :
Private Sub Button3_Click_1(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button3.Click
        On Error 
GoTo saveErr
        Table15BindingSource
.EndEdit()
 
       Table15TableAdapter.Update(A18DataSet.Table15)

 
       Select Case MsgBox("Data saved successfully, Add New Data?"MsgBoxStyle.YesNo":::::::::: Save ::::::::::")
 
           Case MsgBoxResult.Yes

                TextBox1
.Select()
 
               Table15BindingSource.AddNew()


 
           Case MsgBoxResult.No

                Me
.Table15TableAdapter.Fill(Me.A18DataSet.Table15)
 
               With DataGridView1
                    
.ClearSelection()
 
                   .ReadOnly True
                    
.MultiSelect False
                End With

        End Select
saveErr
:
 
       Exit Sub
    End Sub 
السبب يرجع الى هذا الامر
لانك تقوم بتعطيل رؤية الاخطاء من خلال كلا من الاسطر التالى
PHP كود :
       On Error GoTo saveErr
و
saveErr
:
 
       Exit Sub 

اذا قمت بتعطيل كلا من هذه الاسطر
ستظهر معك اين تقع الخطاء عند تنفيذ الامر

حتى تتمكن من معرفة مصدر الخطاء ومعالجته

تحياتى لك
وتمنياتى لك التوفيق
(08-09-18, 08:16 AM)elgokr كتب : [ -> ]
السبب يرجع الى هذا الامر
لانك تقوم بتعطيل رؤية الاخطاء من خلال كلا من الاسطر التالى
PHP كود :
       On Error GoTo saveErr
و
saveErr
:
 
       Exit Sub 

اذا قمت بتعطيل كلا من هذه الاسطر
ستظهر معك اين تقع الخطاء عند تنفيذ الامر

حتى تتمكن من معرفة مصدر الخطاء ومعالجته

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

نعم أخي الحبيب [b]elgokr [/b]ظهر أين يقع الخطأ ، الغريب أن أمر الحفظ مكتوبٌ بشكلٍ صحيح، لذا قمتُ بنقل الصورة لحضرتك
حقل الباركود فارغ يجب ادخال قيمة !
(08-09-18, 01:51 PM)حريف برمجة كتب : [ -> ]حقل الباركود فارغ يجب ادخال قيمة !


أخي الكريم الغريب أنه غير فارغ فعليًا ويحتوي على قيمة إضافة إلى جميع الحقول الأُخرى
اين تتم الاضافة لابد وان تستخدم الربط المباشر للاداة بمصدر البيانات
تأكد انها مربوطة ولم تقم بمسحها
(08-09-18, 01:58 PM)Hazem1 كتب : [ -> ]
(08-09-18, 01:51 PM)حريف برمجة كتب : [ -> ]حقل الباركود فارغ يجب ادخال قيمة !


أخي الكريم الغريب أنه غير فارغ فعليًا ويحتوي على قيمة إضافة إلى جميع الحقول الأُخرى


كما وضح لك الاخ حريف برمجة

ان المشكلة فى قيمة الباركود

ولكن المشكلة ليس فى انها فارغة
المشكلة قد تكون فى نوع القيمة نفسها

فمثلاً لديك العمود من نوع رقمي
ولك القيمة التى تتم ادخالها نصي او تحتوى على نصوص

أو انك قمت بتحديد عدد الاحرف المدخلة للعمود وانت تقوم بادخال قيمة اكبر من المسموح
فيجب عليك مراجعة ذلك وستحل المشكلة ان شاء الله لانك قلت مسبقاً ليس دائماً تظهر هذه المشكلة

تحياتى لك
وتمنياتى لك التوفيق
(08-09-18, 07:24 PM)elgokr كتب : [ -> ]
(08-09-18, 01:58 PM)Hazem1 كتب : [ -> ]
(08-09-18, 01:51 PM)حريف برمجة كتب : [ -> ]حقل الباركود فارغ يجب ادخال قيمة !


أخي الكريم الغريب أنه غير فارغ فعليًا ويحتوي على قيمة إضافة إلى جميع الحقول الأُخرى


كما وضح لك الاخ حريف برمجة

ان المشكلة فى قيمة الباركود

ولكن المشكلة ليس فى انها فارغة
المشكلة قد تكون فى نوع القيمة نفسها

فمثلاً لديك العمود من نوع رقمي
ولك القيمة التى تتم ادخالها نصي او تحتوى على نصوص

أو انك قمت بتحديد عدد الاحرف المدخلة للعمود وانت تقوم بادخال قيمة اكبر من المسموح
فيجب عليك مراجعة ذلك وستحل المشكلة ان شاء الله لانك قلت مسبقاً ليس دائماً تظهر هذه المشكلة

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

جزاك الله خيراً أخي الحبيب، الغريب أن نوع الأعمدة كلها من نوع Text لكن أنا قلت في نفسي لعل المُشكلة في السطر الفارغ الذي يظهر ولا أدري هل هذا يؤثر أم لا ؟
حاولت أحذفه من خلال الكود التالي، لكن وجدت أنني عند الضغط في الرسالة الظاهرة على Yes وإعادة إضافة سجل جديد لا يظهر شيء، فاضطررت إلى إعادته مرة ثانية 

كود السطر الجديد : 
PHP كود :
 Table15BindingSource.AddNew() 

 الكود كاملاً المُستخدم في زر الحفظ "Save" :
PHP كود :
Private Sub Button3_Click_1(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button3.Click

        Table15BindingSource
.EndEdit()
 
       Table15TableAdapter.Update(A18DataSet.Table15)

 
       Select Case MsgBox("Data saved successfully, Add New Data?"MsgBoxStyle.YesNo":::::::::: Save ::::::::::")
 
           Case MsgBoxResult.Yes

                TextBox1
.Select()
 
               Table15BindingSource.AddNew()

 
           Case MsgBoxResult.No
                TextBox3
.Text ""
 
               TextBox4.Text ""
 
               TextBox5.Text ""
 
               ComboBox3.Text ""
 
               Me.Table15TableAdapter.Fill(Me.A18DataSet.Table15)
 
               With DataGridView1
                    
.ClearSelection()
 
                   .ReadOnly True
                    
.MultiSelect False
                    TextBox3
.Select()
 
               End With

        End Select
        Table15BindingSource
.Filter String.Format("[Barcode] like '%" TextBox3.Text "%'")
 
   End Sub 

صورة لرسالة الخطأ التي تظهر أحياناً :

(08-09-18, 01:51 PM)حريف برمجة كتب : [ -> ]حقل الباركود فارغ يجب ادخال قيمة !

جزاك الله خيراً أخي على اهتمامك ، حين ظهرت المُشكلة أحببت أنقلها لحضراتكم لأن البيانات كلها كاملة، سُبحان الله لا أدري ما السبب؟