تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية التخلص من تكرار تخزين البيانات
#1
Question 
السلام عليكم اخواني  Angel Blush
في كود الحفظ جعلت ملئ تكست بوكس واضافة الصورة واجبان ,(فيجوال بيسك 2010 /  أكسس 2013) Huh Huh Huh Huh
في بعض الاحيان رسالة ملئ التكست بوكس للمستخدم تكون فقط تأكيدا له بفعل الامر , Exclamation  
فحين الضغط على حفظ دون ادخال الصورة يقوم البرنامج بحفظ أمر التخزين مع العلم أنه يطالبني بالصور دون أن يشعرني أنه قام بعمل تخزين بيانات.
لكن حين اضيف الصورة أجد أن البرنامج خزن البيانات بشكل مضاعف حسب عدد مرات الحفظ التي قمت بها قبل اضافة الصورة.

أود منكم معاينة هذا الكود جيدا ونصحي بما يجب فعله
ومن لم يفهم ما اشرت اليه يمكنني الشرح أكثر . Heart
كود :
  Sub saving()

       Try
           dt.Rows.Add()
           Dim pos As String = dt.Rows.Count - 1
           dt.Rows(pos).Item(1) = ComboBox1.Text
           dt.Rows(pos).Item(2) = langcombx1.Text
           dt.Rows(pos).Item(3) = numeration.Text & " - " & annee.Text
           dt.Rows(pos).Item(4) = DateTimePicker1.Value
           dt.Rows(pos).Item(5) = TextBox3.Text
           dt.Rows(pos).Item(6) = TextBox4.Text
           dt.Rows(pos).Item(7) = TextBox5.Text
           dt.Rows(pos).Item(8) = TextBox6.Text
           dt.Rows(pos).Item(9) = RichTextBox1.Text
           If numeration.Text = "" Then
               MsgBox("ملئ خانة رقم 1 الشهادة واجب")
               Return
           End If

           If annee.Text = "" Then
               MsgBox("ملئ خانة رقم 2 الشهادة واجب")
               Return
           End If

           If TextBox3.Text = "" Then
               MsgBox("ملئ خانة الاسم واجب")
               Return
           End If
           Dim txt As String = " - "
           Dim EmpNum As String = numeration.Text & txt & annee.Text

           If String.IsNullOrEmpty(pathimg.Text) Then
               MessageBox.Show("الرجاء اختيار صورة")
               Return
           Else
               If File.Exists("image\" & EmpNum & ".jpg") Then
                   If MessageBox.Show("توجد صورة لها نفس الاسم هل تريد استبدالها ؟", "عذرا", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                       File.Delete("image\" & EmpNum & ".jpg")
                       File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
                   Else
                       Return
                   End If
               Else
                   File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
               End If
               save_date()
               clearrr()
               MsgBox("تم الحفظ بنجاح")
           End If

       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
   End Sub

Shy اخواني الكرام أنا متطوع في عمل برنامج مصلحة خيري لمؤسسة تعاونية Shy
Heart  وأتمنى منكم مساعدتي قدر الامكان وأجركم عند الله مضاعف Heart
الرد }}}
تم الشكر بواسطة:
#2
اخي الكريم الكود طويل لكن!
اعمل مشروع جديد وملف اكسس بالاعمدة التالية:
tid=ترقيم تلقائي
tname=الاسم
dob=تاريخ الميلاد
pic=كائن ole
واكتب اكوادك وارفع المثال ...إن احببت طبعا.
الرد }}}
#3
السلام عليكم اخي الكريم رائد
ضع هذه السطور في نهاية الكود بعد End If اي بعد الانتهاء من الشروط كما ان كود حفظ الصورة مستقل يعمل قبل الحفظ
كود :
save_date()
           clearrr()
           MsgBox("تم الحفظ بنجاح")
وبذلك يكون الكود هكذا
كود :
Sub saving()
       Try
           dt.Rows.Add()
           Dim pos As String = dt.Rows.Count - 1
           dt.Rows(pos).Item(1) = ComboBox1.Text
           dt.Rows(pos).Item(2) = langcombx1.Text
           dt.Rows(pos).Item(3) = numeration.Text & " - " & annee.Text
           dt.Rows(pos).Item(4) = DateTimePicker1.Value
           dt.Rows(pos).Item(5) = TextBox3.Text
           dt.Rows(pos).Item(6) = TextBox4.Text
           dt.Rows(pos).Item(7) = TextBox5.Text
           dt.Rows(pos).Item(8) = TextBox6.Text
           dt.Rows(pos).Item(9) = RichTextBox1.Text
           If numeration.Text = "" Then
               MsgBox("ملئ خانة رقم 1 الشهادة واجب")
               Return
           End If
           If annee.Text = "" Then
               MsgBox("ملئ خانة رقم 2 الشهادة واجب")
               Return
           End If
           If TextBox3.Text = "" Then
               MsgBox("ملئ خانة الاسم واجب")
               Return
           End If

           Dim txt As String = " - "
           Dim EmpNum As String = numeration.Text & txt & annee.Text
           If String.IsNullOrEmpty(pathimg.Text) Then
               MessageBox.Show("الرجاء اختيار صورة")
               Return
           Else
               If File.Exists("image\" & EmpNum & ".jpg") Then
                   If MessageBox.Show("توجد صورة لها نفس الاسم هل تريد استبدالها ؟", "عذرا", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                       File.Delete("image\" & EmpNum & ".jpg")
                       File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
                   Else
                       Return
                   End If
               Else
                   File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
               End If
           End If
           save_date()
           clearrr()
           MsgBox("تم الحفظ بنجاح")
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
   End Sub
يبقى التأكد من صب الحفظ الذي عندك ان كان فيه شيء
دمت بخير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: حريف برمجة , الرائد
#4
(10-07-19, 09:56 AM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم رائد
ضع هذه السطور في نهاية الكود بعد End If اي بعد الانتهاء من الشروط كما ان كود حفظ الصورة مستقل يعمل قبل الحفظ
كود :
save_date()
           clearrr()
           MsgBox("تم الحفظ بنجاح")
وبذلك يكون الكود هكذا
كود :
Sub saving()
       Try
           dt.Rows.Add()
           Dim pos As String = dt.Rows.Count - 1
           dt.Rows(pos).Item(1) = ComboBox1.Text
           dt.Rows(pos).Item(2) = langcombx1.Text
           dt.Rows(pos).Item(3) = numeration.Text & " - " & annee.Text
           dt.Rows(pos).Item(4) = DateTimePicker1.Value
           dt.Rows(pos).Item(5) = TextBox3.Text
           dt.Rows(pos).Item(6) = TextBox4.Text
           dt.Rows(pos).Item(7) = TextBox5.Text
           dt.Rows(pos).Item(8) = TextBox6.Text
           dt.Rows(pos).Item(9) = RichTextBox1.Text
           If numeration.Text = "" Then
               MsgBox("ملئ خانة رقم 1 الشهادة واجب")
               Return
           End If
           If annee.Text = "" Then
               MsgBox("ملئ خانة رقم 2 الشهادة واجب")
               Return
           End If
           If TextBox3.Text = "" Then
               MsgBox("ملئ خانة الاسم واجب")
               Return
           End If

           Dim txt As String = " - "
           Dim EmpNum As String = numeration.Text & txt & annee.Text
           If String.IsNullOrEmpty(pathimg.Text) Then
               MessageBox.Show("الرجاء اختيار صورة")
               Return
           Else
               If File.Exists("image\" & EmpNum & ".jpg") Then
                   If MessageBox.Show("توجد صورة لها نفس الاسم هل تريد استبدالها ؟", "عذرا", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                       File.Delete("image\" & EmpNum & ".jpg")
                       File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
                   Else
                       Return
                   End If
               Else
                   File.Copy(pathimg.Text, "image\" & EmpNum & ".jpg")
               End If
           End If
           save_date()
           clearrr()
           MsgBox("تم الحفظ بنجاح")
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
   End Sub
يبقى التأكد من صب الحفظ الذي عندك ان كان فيه شيء
دمت بخير
شكرا لك / لازلت اعاني من نفس المشكل
أخي ابراهيم في الاول كنت قد وضعت الكود كما عدلته لي انت الان , ولم يعمل معي فقمت بتحديثه على الطريقة التي اشرت اليها أنا اعلاه , فاختفت بضع مشاكل , لكن تكرار المعلومات لازال يتكرر
الان قد ارفقت لكم كما اشار الي الاخ سعود اعلاه , ملف يمكنكم معاينته ومشاعدتي على حل المشكل 
- رجاءا الملف المرفق لم يتم قبوله في رفع المنتدى (7.8mb) فقمت برفعه على موقع الخليج بشكل مؤقت
https://www.gulf-up.com/e37k44eltdce
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#5
السلام عليكم اخي رائد
الملف لايحمل من الموقع يبدو فيه فيروس والله اعلم
اخي المشكلة في كود الحفط للبيانات عندك جرب تحفظ بدون  الصورة فقط البيانات 
وان ظهرت المشكلة عندها بوجد خلل في كود الحفظ 
قم بارفاق مشروعك بدون صور وارفق قاعدة البيانات فيها سجل واحد مع الصورة التابعة له
دمت بألف خير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: الرائد
#6
(10-07-19, 11:58 PM)ابراهيم ايبو كتب :
السلام عليكم اخي رائد
الملف لايحمل من الموقع يبدو فيه فيروس والله اعلم
اخي المشكلة في كود الحفط للبيانات عندك جرب تحفظ بدون  الصورة فقط البيانات 
وان ظهرت المشكلة عندها بوجد خلل في كود الحفظ 
دمت بألف خير
الكود يعمل بشكل عادي خلال تجاهل كود اللصورة
الرد }}}
تم الشكر بواسطة:
#7
ضع كود نسخ الصورة في البداية لانه لاعلاقة له بأكواد حفظ البيانات فقط متزامن معه
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: الرائد , الرائد
#8
(11-07-19, 12:10 AM)ابراهيم ايبو كتب :
ضع كود نسخ الصورة في البداية لانه لاعلاقة له بأكواد حفظ البيانات فقط متزامن معه

جرب الامر كذلك كما قلت تزامن الصورة هو من يجعل الكود يمرر التخزين ويتجاهل ذلك
هل توجد طريقة لعمل تحقق من جميع الخطوات من ثم يصرح بالتخزين
الرد }}}
تم الشكر بواسطة:
#9
الع المتغير txt 
التحقق من الحقول اجعلها هكذا 
كود :
  If numeration.Text = "" Or annee.Text = "" Or TextBox3.Text = "" Then
           MsgBox("الرجاء ملئ الحقول خانة او اكثر لم يتم ملؤها")
           Return
       End If

       Dim EmpNum As String = numeration.Text & " - " & annee.Text
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: الرائد
#10
(11-07-19, 12:33 AM)ابراهيم ايبو كتب : الع المتغير txt 
التحقق من الحقول اجعلها هكذا 
كود :
  If numeration.Text = "" Or annee.Text = "" Or TextBox3.Text = "" Then
           MsgBox("الرجاء ملئ الحقول خانة او اكثر لم يتم ملؤها")
           Return
       End If

       Dim EmpNum As String = numeration.Text & " - " & annee.Text
شكرا لك .
في حالة ان اردت جعل if الشرطية تتحقق من جميع معلومات قائمة sub
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 222 25-02-24, 11:26 PM
آخر رد: heem1986
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 158 25-02-24, 06:29 AM
آخر رد: loay775
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 158 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 193 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 329 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,123 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  معرفة عدد مرات تكرار الاسم في الداتاقريدفيو صالح عبدالله 8 426 05-02-24, 04:39 PM
آخر رد: صالح عبدالله
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 272 18-01-24, 05:04 PM
آخر رد: loay775

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


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