[
attachment=25681]السلام عليكم
في المثال المرفق يوجد تكست في الفورم الأول يتم إدخال مبلغ معين به كإيرادات عمل معين
وفي الفورم الثاني يوجد عدد 2 تكست يتم نقل الإيراد الحالي من الفورم الأول إلى أحدهما
وفي التكست الثاني يتم جمع عمليات الإيرادات بشكل متتالي وكأنها رصيد الإيرادات
بصراحه الكود الي يقوم بعملية جمع الإيرادات بشكل صحيح عجزت اوصل له
دائما يحصل خطأ
ارجو ممن يملك هذه المعلومه يعدل ع النموذج وله الشكر الجزيل!
السّلام عليكم و رحمة الله و بركاته
الإشكالية أخي الكريم في جمع القيم ثم تخرج من الفورم الثاني و تبقى القيمة محفوظة لتضيف عليها مرات و مرات ..
لو كانت العملية بفورم واحد دون الخروج من الفورم الأول كان الأمر سيكون بسيط طبعا بالنسبة لي و حدود معرفتي
و لذلك ..
محاولة بسيطة إعتمدت على حفظ الرصيد النهائي بالسيتينغ .. للتمكن من الإضافة عليه
قد تكون هناك حلول أكثر إحترافية .. المهم أحسن من بلاش
تحياتي واحتراماتي
شكرا لك أخي عبدالعزيز
ولكن يبدو ان الفكرة التي أعنيها لم تصل إليك بشكل واضح
بفرض أن هناك مستخدم يقوم بإدخال مبالغ في حسابة عن طريق التكست في الفورم الأول
وبمجرد الضغط على مفتاح تحويل الرصيد يتم مسح المبلغ من التكست ونقله للتكست الخاص بالعملية الحالية في الفورم الثاني
ويقوم بعملية أخرى فيحدث نفس الشي وفي نفس الوقت يتم جمع جميع المبالغ في التكست الخاص بالرصيد في الفورم الثاني
انا بصراحه تعبت فيها وكنت اصل للحل ولكن فجأه يتم مسح الرصيد ويبدأ من جديد دون أن أعرف السبب
عموما اعتقد الأفضل في نقل الرصيد هو نقله من الفورم الأول
ولكن الإشكالية في جمعه في الفورم الثاني بشكل متتالي
و الله لم أفهم الموضوع بشكل واضح أخي الكريم
شوف يا غالي ..
روح مباشرة للفورم رقم 3
و جرّب كتابة قيمة بالتاكست 2 واضغط على ENTER
طبعا من أجل ما يسمى الرصيد التراكمي بالتاكست 3
فقط لأقرّب لك الفكرة لعلها تفيد إن شاء الله
تحياتي
قمت بالتعديل على النموذج حتى يتم فهمه بشكل افضل
فقط جرب إدخال مبلغ في التكست الخاص بالإيرادات والضغط على تحويل الرصيد لترى ماذا يحدث في التكست في الفورم الثاني
عملية الجمع بها خلل لم استطيه حله
(15-09-20, 05:20 PM)عبد العزيز البسكري كتب : [ -> ]و الله لم أفهم الموضوع بشكل واضح أخي الكريم
شوف يا غالي ..
روح مباشرة للفورم رقم 3
و جرّب كتابة قيمة بالتاكست 2 واضغط على ENTER
طبعا من أجل ما يسمى الرصيد التراكمي بالتاكست 3
فقط لأقرّب لك الفكرة لعلها تفيد إن شاء الله
تحياتي
تنفيذ العملية من خلال فوزرم واحد سهله
ولكن تنفيذها بشكل منتظم في فورم واضهار النتائج والجمع في فورم اخر امر مختلف
السلام عليكم
تحية لكل اعضاء المنتدى ومشرفية الكرام
هل هذا استاذى ما تريد ؟؟؟
[
attachment=25686]
(15-09-20, 06:52 PM)mmali127 كتب : [ -> ]السلام عليكم
تحية لكل اعضاء المنتدى ومشرفية الكرام
هل هذا استاذى ما تريد ؟؟؟
بالضبط هو هذا المطلوب ولكن المشكلة لازالت قائمة وهي عند تحويل صيغة الرقم لعمله لا يعمل الكود بشكل صحيح
فلو تم تحويل الرقم لعملة يكون النموذج سليم مئه بالمئه
شكرا لمجهودك
هنا في التعديل المرفق تم حل المشكله بطريقة إحتياليه على الفيجوال وتعمل بشكل لا غبار عليه
ولكن تمنيت ان اجد الطريقه الصحيحه لتحويل المبلغ بعد جمعه إلى عمله بشكل صحيح
في Form2 عرف متغير عام
كود :
Public Total As Decimal
واضف اليه المجموع ومن ثم خذ قيمته وحولها كما تريد الى نص
في Form1 :
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.TextBox1.Text = CDec(TextBox1.Text).ToString("c")
Form2.Total += CDec(TextBox1.Text)
Form2.TextBox2.Text = Form2.Total.ToString("c")
Form2.Show()
End Sub
(15-09-20, 08:21 PM)Anas Mahmoud كتب : [ -> ]في Form2 عرف متغير عام
كود :
Public Total As Decimal
واضف اليه المجموع ومن ثم خذ قيمته وحولها كما تريد الى نص
في Form1 :
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.TextBox1.Text = CDec(TextBox1.Text).ToString("c")
Form2.Total += CDec(TextBox1.Text)
Form2.TextBox2.Text = Form2.Total.ToString("c")
Form2.Show()
End Sub
سلمت اناملك وبارك الله فيك
بالضبط هذا هو الحل السليم
بقي ان انوه انه لايجب عليك ابدا استخدام val ، انتهى وقتها للابد
لانها لاتعطيك اي افادة بان النص قابل للتحويل لرقم ام لا
والاصح بدلا من Cdec استخدام Decimal.Parse لانها مختصة بال نصوص String ، ولانها تتيح TryParse التي تمكنك من التحقق من النص المدخل
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim deposit As Decimal
If Decimal.TryParse(TextBox1.Text, deposit) = False Then
MsgBox("ادخل رقم سليم")
Return
End If
Form2.TextBox1.Text = deposit.ToString("c")
Form2.Total += deposit
Form2.TextBox2.Text = Form2.Total.ToString("c")
Form2.Show()
End Sub