تصميم و برمجة فورم التحويلات او الصرف و توريد النقدية

في الدرس السابق انتهينا من تصميم وبرمجة فورم مرتجع البيع لفاتوره المبيعات ولم يبقى الا القليل وننتهي من برمجة مشروع او نظام السوبر ماركت .

التحويلات النقدية

سنبرمج الآن فورم  التحويلات اي تحويل نقديه او صرف نقديه , ويعتبر هذا الفورم مهم جدا في مشروعنا السوبر ماركت لانه هو الذي يتم منه استلام المبالغ المستحقة للشركة وصرف المبالغ المستحقة على الشركة للغير  .

نقصد بتحويل نقديه او توريد نقديه ببساطه هو كل ما يدخل ويخرج من صندوق الشركه .. 

  تحويل نقديه حسابات الالتزامات (المطلوبات) الذي يبين المبالغ المستحقة على المؤسسة او الشركة مقابل البضائع والخدمات التي اشترتها,ويستثني منه النقد الموجود في الصندوق او العكس .

 ➖ اذا كان ما يخرج من صندوق الشركه من مبالغ فيعتبر مستحقات علئ الشركة وبالتالي ينقص رصيد صندوق الشركة ونقصد بهذه الحاله توريد نقديه من الشركة للغير .

 ➖ او اذا كان ما يدخل للشركة من مبالغ فيعتبر مستحقات الغير للشركة وبالتالي يزيد رصيد صندوق الشركة تحويل ونقصد بهذه الحاله صرف نقديه للشركة  .

    حساب الأصول (الموجودات) الذي يبين المبالغ المستحقة للمؤسسة او الشركة من عملائها وزبائنها مقابل البضائع والخدمات التي بيعت أو أجرت لهم بفتره محدده او العكس .

 والشركة تتعامل مع موردين وعملاء وموظفين ومصاريف علئ الشركة ويتم حساب الحسابات في مشروعنا كالتالي :  

➖ الموردين هم الذي يتم شراء بضائع منهم للشركة او خدمات يقدموها للشركة من خلال فاتوره المشتريات ويعتبر استحقاق علئ الشركة وبالتالي ينقص من رصيد صندوق الشركة وقد يكون الشراء اجل او كاش اذا كان كاش فيتم دفع مبلغ من صندوق الشركة للمورد او اذا كان اجل فيتم تسجيل مبلغ بضاعه علئ الشركة في فتره استحقاق معينه حسبه العقد بين الطرفين…. *نفرض تم شراء بضاعه من المورد للشركة بقيمه 50000 وتم دفع نص قيمه البضاعه 25000 والباقي يتم دفعه في فتره لاحقه محدده وعند وصول فتره استحقاق المبلغ يتم تحويل مبلغ 25000 من رصيد صندوق الشركة للمورد وهكذا . 

➖ العملاء : الشركة تتعامل مع عملاء و هم الذي يتم بيع لهم البضائع من خلال فاتوره المبيعات ويعتبر استحقاق للشركة وبالتالي يزيد رصيد صندوق الشركة وقد يكون البيع اجل او شراء اذا كان اجل فيتم تسجيل مبلغ فاتوره البيع في رصيد العميل وفي فتره محدده لدفع استحقاق الفاتوره او يكون كاش فيتم دفع مبلغ فاتوره مباشره للشركة نفرض تم بيع بضاعه بقيمه 1000 لعميل معين اجل وفي فتره محدده يستحق دفع المبلغ وعند وصول استحقاق الدفع يتم توريد مبلغ 1000 من العميل الى صندوق الشركة وهكذا .

➖ مصروفات : قد يكون هناك مصروفات مستحقه الدفع علئ الشركة مثلا مصروف فاتوره الكهرباء او مصروف فاتوره المياه او مصروف خدمات اخرئ وبالتالي يتم دفع هذه مصاريف من صندوق رصيد الشركة وهكذا . الموظفين : الشركة تتعامل مع موظفين اي موظفين يعملون في الشركة وبالتالي هولاء لهم رواتب ومكافئات فيتم دفع في كل نهايه الشهر رواتب الموظفين من صندوق رصيد الشركة في هذه الحاله يتم تحويل المبالغ من صندوق الشركة الئ الموظفين ونفس الموظفين قد يكون لهم ارصده في الشركة ➖حالات اخرئ قد يتم تحويل مبلغ معين من عميل معين الئ مورد معين وبالعكس او يتم تحويل مبلغ معين من موظف الئ العميل او العميل 

 تصميم و برمجة فورم التحويلات  صرف النقديه وتوريد النقديه 

-  الخطوات : 

 نضيف فورم جديد ونسميه sirf او اي اسم تريده اخي المبرمج ثم نقوم باضافة الادوات التي نحتاجها في هذا الفورم وكالتالي : 

 تكس بوكس Textbox عدد 4

 نغير اسماء التكس بوكس الاربعه كما يلي :

 ـ Textbox ➖➖ نسميه finld

 ـ Textbox ➖➖ نمسيه finnotes

 ـ Textbox ➖➖نسميه finuser

  ـ Textbox ➖➖نسميه finmoney

   ثم نضع امام كل تكس بوكس ليبل label ونغير اسماء الليبل كالتالي : 

 ـ finld المستخدم

 ـ finnotes الملاحظات 

 ـ finuser المستخدم

 ـ finmoney المبلغ 

 ➖ـ  DateTimePicker عدد 2 نغير اسماء برمجيا كالتالي : 

 ـDateTimePicker نسميه findate

 ـ DateTimePicker نمسيه fintime 

 ثم نضع امام كل واحد منهم ليبل label. ونغير اسمه كالتالي ـ fintime الوقت  ـ findate التاريخ 

 ➖ـ RadioButton عدد 2 نغير اسماء ليس برمجيا كالتالي : ـ RadioButton صرف نقدية  ـ RadioButton توريد نقدية 

 ➖ـ ComboBox عدد 4 نغير الاسماء برمجيا كالتالي : ـ ComboBox نسميه finfrom

 ـ ComboBox نمسيه finsubfrom ـ ComboBox نسميه finto 

 ـ ComboBox نسميه finsubto 

 ثم نضع امام كل واحد ليبل label. ونغير اسمه ليس برمجيا وكالتالي : ـ finfrom ➖➖من 

 ـ finsubfrom➖➖ الى

 ـ finto ➖➖ من

 ـ finsubto ➖➖ الئ 

 ـ GroupBox عدد 1 

 ➖ـ Button عدد 2 اسماء Button نغير اسمها على فورم فقط امام برمجيا تبقى كما هي وكما يلي : ـ Button ➖نسميه ➖حفظ ـ Button ➖ نسميه ➖ الغاء 

  نضيف ايضا ليبل label عدد 4 ونغير اسماء كما يلي ـ الرصيد الحالي ـ الرصيد الحالي ـ 0 ـ 0 

 ويصبح تصميم الفورم بشكل نهائي بعد اضافة الادوات كما في الصوره

التصميم النهائي ل فورم صرف و توريد النقدية او التحويلات

هذه الصوره التي استخدمت في تغير شكل فورم

صورة ثانيه التي استخدمت في تغير شكل وجمالية الفورم

صور في تصميم و برمجة فورم التحويلات او الصرف و توريد  النقدية

 ربط فورم التحويلات ب الفورم الرئيسي

الان سنربط الفورم الصرف بالفورم الرئيسي manipage نفتح فورم manipage ونكتب قائمه باسم الحسابات ثم نكتب داخلها فرع باسم صرف وتوريد النقديه ثم ننقر عليه نقرتين ونكتب الكود التالي لربط الفورم به :

.vb
	  
	
sirf.MdiParent = Me

sirf.WindowState = FormWindowState.Maximized

sirf.Show()
	

شاهد الفيديو  كيف تم ربط الفورم بالفورم الرئيسي manipage


 المصاريف و مستحقات الشركة

  لنتكلم عن مصاريف ومستحقات الشركه او مايدخل ويخرج من صندوق الشركة ..

 المعلوم ان اي شركة تتعامل مع مورد وعملاء وموظفين وكذلك مصاريف الشركة بحيث المورد يقوم بتوريد بضائع للشركة والعملاء يعتبرون من المشترين لهذه البضائع اما الموظفين فهم يعملون في الشركه اما مصاريف فتعتبر مصاريف علئ الشركة وسنذكر بعض من هذه المصاريف وبالتالي عندما يقوم المورد بتوريد بضاعه للشركه فتصبح الشركة عليها مستحقات لدفع قيمه البضاعه للمورد وكذلك العميل عندما الشركه ببيع هذه البضاعة عليه ايضا يصبح عليه مستحقات لدفع قيمه البضاعه وكذلك الموظفين الذين يعملون في الشركة فلابد من الشركه ان تدفع رواتب الموظفين اما مصاريف الشركة قد تكون مصاريف فاتوره كهرباء او مصاريف فاتوره مياه او فاتوره ايجار وهكذا وايضا هناك نوع من المصاريف مثلا قد يكون هناك اماكن تشتري منها الشركة بضائع ليست بمورد وانما تسمئ نقطه بيع وبالتالي يكون هناك استحقاق لدفع ثمن البضاعه على الشركة… مصاريف ومستحقات علئ الشركه هي تنقص من رصيد صندوق الشركة اما مستحقات للشركة من العملا نتيجه بيع بضائع لهم وكذلك توريد نقديه للشركة هي تزيد من رصيد صندوق الشركة وبالتالي جميع ماذكر تتعامل معهم الشركة بالاموال قد يكون للشركة او على الشركة .. 

 لكن كيف نحمل هذه المبالغ لجميع ماذكر اعلاه ؟  

الجواب 

  العملاء فيتم تحميل ارصده العلاء من جدول Customers 

  الموردين يتم تحميل ارصدة الموردين من جدول lmporter

 الموظفين فيتم تحميل ارصدة الموظفين من جدول users 

 المصاريف المستحقة على الشركة

اما مصاريف الشركة فليس لدينا جدول مخصص لها ولذك سوف نقوم بانشاء جدول خاص بمصاريف مستحقه علئ الشركة نفتح قاعده بيانات ثم نقوم بانشاء جدول باسم Expenses (المصاريف) ولك الحريه اخي في تسميه الجدول بما تشاء ثم بعد ذلك نكتب الحقول التي نحتاجها في الجدول وكالتالي :

 ـ ld ➖➖➖ترقيم تلقائي ـ Expensename ➖➖ نص ـ Expensebalance ➖➖ عمله ـ Expenseuser ➖➖ نص 

كما في الصوره

المصاريف المستحقة على الشركة

 نقاط البيع

اما نقط البيع التي قمنا بشرأء البضائع منها ايضا ليس لدينا لها جدول لذلك نقوم بانشاء جدول خاص بنقط البيع ونسمي الجدول باسم pos ثم نكتب فيه الحقول التاليه : ـ ld ➖➖ ترقيم تلقائي ـ posname ➖➖ نص ـ posbalance ➖➖ عمله ـ posuser➖➖ نص كما في الصوره

نقاط البيع

ترتيب حقول الجدول اعلاه اصبح لدينا جداول خاصه بتحميل بيانات من الموردين والعملاء والموظفين والمصاريف ونقط البيع وبهدجداول يمكننا معرفة مستحقات للشركه ومستحقات علئ الشركة اي مايدخل ويخرج من صندوق الشركة اما يزيد الرصيد او ينقص الرصيد من صندوق الشركة… 

تحميل بيانات العملاء و الموردين و الموظفين و المصاريف و نقاط البيع

 الان ناتي الئ كيف نحمل بيانات الجداول العملاء والموردين والموظفين والمصاريف ونقط البيع في الفورم وبالاخص في ComboBox ؟ 

 يمكننا تحميل البيانات من خلال الاتي : نذهب إلى الفورم ثم نضغط كلك ايمن على كومبو بوكس finfrom (من) ثم نختار خيار Edit ltems ونكتب الاسماء التاليه : عملاء موردين نقط البيع موظفين مصروفات ونفس الخطوات نضغط كلك ايمن على كومبو بوكس finto(الئ) ونختار Edit ltems ونكتب نفس الكلام السابق : عملاء موردين نقط البيع موظفين مصروفات

  شاهد الفيديو  كيف تم كتابه الحقول اعلاه في كومبو بوكس ComboBox



 الان سنحمل اسماء كل من العملاء والموظفين والموردين ونقط البيع والمصروفات من خلال الفورم بحيث عند اختيار عملاء من كومبو بوكس يروح يجيبلي كل العملاء في قاعده بيانات وهكذا في اختيار بقيه سواء الموردين او الموظفين او مصروفات او نقط البيع… لكن قبل تحميل بيانات نذهب الى قاعدة البيانات ونفتح جدول مصروفات Expenses ونكتب في حقل Expensename اي بيانات افتراضيه حتى ترون كيف نحمل بيانات هذا الجدول في فورم عند اختيار المصروفات وكذلك نفتح جدول نقط البيع pos ونكتب في حقل posname اي بيانات افتراضيه… 

 الان نحمل الاسماء في كومبو بوكس كل من كومبو بوكس finfrom و كومبو بوكس finto من خلال انشاء كود اجراء خاص كالتالي :

.vb
	  
Public Sub load_cobs(tblname As String, cmb As ComboBox, disp As String, val As String)


Dim dt As New DataTable

Dim da As New OleDbDataAdapter

da = New OleDbDataAdapter("select * from " & tblname & "", con)


da.Fill(dt)

cmb.DataSource = dt

cmb.DisplayMember = disp

cmb.ValueMember = val

End Sub
	

شرح الكود

 عرفنا اجراء خاص اسميناه load_cobs ثم عرفنا متغيرات للبارومترات المتغيره كالتالي : ـ tblname نقصد به اسم جدول الذي نحمل منه اسماء سواء عملاء او موردين او موظفين او مصروفات او نقط البيع وعرفناه متغير لان اسماء جداول التي نحمل منها اسماء متغيره وليس من المعقول كتابه كود كامل ونكرره 10 مرات حتى نحمل كل الاسماء ومن الاساس عرفنا متغير بهذا الاسم tblname ـ cmb نقصد به الكومبو بوكس المتغير ـ disp نقصد به اسماء المتغيره هي العملاء والموردين والموظفين ونقط البيع والمصروفات ـ val نقصد بها قيمه هذه الاسماء بعد ذلك عرفنا داتا تيبل و داتا ادبتر البين قوسين select حملنا جدول المتغير tblname ثم جعلنا. متغير كومبو بوكس cmb يساوي كل من داتا سورس ودسبلي نمبر وفايلو مبمر 

 شاهد ترتيب كود الاجراء اعلاه كما في الصورة 

تحميل الاسماء في كومبو بوكس

  

 بعد ان عرفنا اجراء خاص للمتغرات الاسماء ومتغيرات الجداول وسنحمل اسماء العملاء والموردين والموظفين ونقط البيع والمصروفات من جداول في قاعدة بيانات بحيث عند اختيار عملاء من كومبو بوكس finfrom يروح يضهرلي اسماء جميع العملاء في كومبو بوكس finsubfrom وعند اختيار موردين يروح يضهرلي جميع موردين في finsubfrom وهكذا سيتم تحميل الاسماء مرتين مره في كومبو بوكس finfrom ومره في كومبو بوكس finto 1⃣ ويتم برمجه كلام اعلاه من خلال الضغط على كومبو بوكس (من finfrom) ونكتب الكود التالي :

.vb
	  
'=====تحميل جدول العملاء

If finfrom.Text = "عملاء" Then

load_cobs("customers", finsubfrom, "customername", "customerld")

End If



'=====تحميل جدول موردين

If finfrom.Text = "موردين" Then

load_cobs("lmporter", finsubfrom, "lmportername", "lmporterld")

End If



'=====تحميل جدول موظفين 

If finfrom.Text = "موظفين" Then

load_cobs("users", finsubfrom, "userfullname", "userld")

End If



'=====1تحميل جدول نقاط البيع 

If finfrom.Text = "نقط البيع" Then

load_cobs("pos", finsubfrom, "posname", "ld")

End If



'=====تحميل جدول مصروفات 

If finfrom.Text = "مصروفات" Then

load_cobs("Expenses", finsubfrom, "Expensename", "ld")

End If

End Sub

	

شرح الكود

  كل الاكواد عباره عن شروط بحيث عند اختيار if احد الاسماء مثلا عملاء من كومبو بوكس finfrom سوف يحملي جميع اسماء العملاء في كومبو بوكس fin subfrom من خلال تحميل اجراء الذي عرفناه سابقا load_cods للمتغيرات جداول والاسماء وجدول العملاء هو Customers واسماء العملاء نحملها من حقل customername في جدول العملاء من خلال customerld

 اما بقيه الاكواد نفس الكلام فقط نغير اسم جدول واسم حقل الذي نحمل منه الاسماء 

 شاهد ترتيب كود اعلاه كما في الصوره 

 

تحميل اسماء العملاء والموردين والموظفين ونقط البيع والمصروفات من جداول في قاعدة بيانات

تحميل نفس اسماء جداول لكن في كومبو بوكس (finto الئ) ننقر نقرتين عليه ونكتب الكود التالي :

.vb
	  

'=====تحميل جدول العملاء 

If finto.Text = "عملاء" Then

load_cobs("customers", finsubto, "customername", "customerld")

End If



'===تحميل جدول موردين

If finto.Text = "موردين" Then

load_cobs("lmporter", finsubto, "lmportername", "lmporterld")

End If



'=====تحميل جدول موظفين

If finto.Text = "موظفين" Then

load_cobs("users", finsubto, "userfullname",
"userld")

End If


'=====1تحميل جدول نقاط البيع 

If finto.Text = "نقط البيع" Then

load_cobs("pos", finsubto, "posname", "ld")

End If


'=====تحميل جدول مصروفات

If finto.Text = "مصروفات" Then

load_cobs("Expenses", finsubto, "Expensename", "ld")

End If
	

 الكود نفس كود سابق لكن فقط نغير اسم كومبو بوكس من finfrom الى finto ونغير اسماء جدوال واسماء الحقول التي نحمل منها الاسماء 

 لاحظ ترتيب كود اعلاه كما في الصورة 

تحميل اسماء العملاء والموردين والموظفين ونقط البيع والمصروفات في كومبو بوكس

شاهد بالفيديو  كيف تم تنفيذ البرنامج وكيف تم ضهور اسماء موردين عند اختيار موردين وهكذا


…  


 في الجزاء السابق انتهينا تحميل اسماء الموردين والموظفين والمصروفات ونقط البيع والعملاء في كل من كومبو بوكس finfrom وكومبو بوكس finto وسنحمل ارصده جميع اسماء كل من العملاء والموظفين والموردين ونقط البيع والمصروفات في كومبو بوكس finsubfrom و كومبو بوكس finsubto بحيث عند اختيار العملاء من finfrom سوف يختارلي العملاء وبنفس الوقت يختاري الرصيد الحالي للعميل نفسه في ليبل label ـ(0) وهكذا… . 

 لبرمجة هذا الكلام ايضا نحتاج الى اجراء خاص لتعريف المتغيرات لارصده الحقول في جداول باعتبار انها متغيره في كل جدول اي سوف نجلب ارصده اسماء العملاء والموظفين والموردين والمصروفات ونقط البيع من حقل كل جدول الخاص بالرصيد balance .. *اذن ننقر نقرتين على الفورم ونكتب الاجراء الخاص بتعريف متغيرات للارصده الاسماء كالتالي :

.vb
	  
Public Sub load_Balanec(tabel2 As String, name_cloen As String, cobx As ComboBox, lab As Label, Balanc As String)

Try

Dim dt As New DataTable

Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("select * from " & tabel2 & " where " & name_cloen & " = '" & cobx.Text & "'", con)

da.Fill(dt)

lab.Text = dt.Rows(0).Item(Balanc)

Catch ex As Exception

End Try

End Sub
	

 الكود لا يحتاج شرح نفس كود سابق 

 لاحظ ترتيب كود الاجراء كما في الصوره 




 سنحمل الارصده من جداول من حقل كل جدول خاص بالرصيد balance كما يلي 

 العملاء ➖customerbalance 

 الموردين➖ lmporterbalance 

 الموظفين users لكن لا يوجد حقل في هذا جدثل خاص بالرصيد لذلك نقوم بفتح جدول users ونضيف حقل ونسميه userbalance من نوع نص 

 نقط البيع➖ posbalance 

 المصروفات ➖ Expensebalance هذه الحقول في الجداول التي سوف نحمل منها الارصدة

     1⃣ ننقر نقرتين على كومبو بوكس finsubfrom ونكتب الكود التالي :

.vb
	  

If finfrom.Text = "عملاء" Then
load_Balanec("customers", "customername", finsubfrom, Label6, "customerbalance")

End If



If finfrom.Text = "موردين" Then

load_Balanec("lmporter", "lmportername", finsubfrom, Label6, "lmporterbalance")

End If



If finfrom.Text = "موظفين" Then

load_Balanec("users", "userfullname", finsubfrom, Label6, "userBalance")

End If



If finfrom.Text = "نقط البيع" Then

load_Balanec("pos", "posname", finsubfrom, Label6, "posbalance")

End If


If finfrom.Text = "مصروفات" Then

load_Balanec("Expenses", "Expensename", finsubfrom, Label6, "Expensebalance")

End If
	

 الكود تم شرحه سابقاً في درس سابق

 لاحظ ترتيب الكود في الصورة 

تحميل الارصده من الجداول في كومبو بوكس

 تحميل الارصده في كومبو بوكس 

 نحمل الارصدة في كومبو بوكس ثاني finsubto ننقر عليه نقرتين ونكتب الكود التالي :

.vb
	  
If finto.Text = "عملاء" Then
load_Balanec("customers", "customername", finsubto, Label8, "customerbalance")

End If



'If ComboBox1.Text = "عملاء" Then
'    serchebalans("customers", "customername", ComboBox3, Label6, "customerbalance")

'End If



If finto.Text = "موردين" Then

load_Balanec("lmporter", "lmportername", finsubto, Label8, "lmporterbalance")

End If



If finto.Text = "موظفين" Then

load_Balanec("users", "userfullname", finsubto, Label8, "userBalance")

End If



If finto.Text = "نقط البيع" Then

load_Balanec("pos", "posname", finsubto, Label8, "posbalance")

End If



If finto.Text = "مصروفات" Then

load_Balanec("Expenses", "Expensename", finsubto, Label8, "Expensebalance")

End If
	

الكود ايضا تم شرحه سابقاً 

 لاحظ ترتيب الكود ثاني في الصورة 

تحميل الارصده في كومبو بوكس

  شاهد بالفيديو  كيف تم الارصدة بعد تنفيذ البرنامج للموظفين والموردين والمصروفات ونقط البيع والعملاء 


… 

 ملاحظه

 قم بملئ بيانات افتراضية في كل من جدول Expenses في حقل Expensebalance وفي جدول pos في حقل posbalance وفي جدول users في حقل userbalance حتى يتم تحميل الارصدة بعد تنفيذ البرنامج…… 

 


 في الجزاء السابق حملنا جميع اسماء والأرصدة كل من الموردين والعملاء والموظفين والمصروفات ونقط البيع وبالتالي اصبح لدينا الفورم جاهز لصرف وتوريد النقديه مثلا تسديد قميه بضاعه مباعه للعميل الى شركة فيتم توريد مبلغ قيمه بضاعه في تكس بوكس المبلغ finmoney ثم نختار التحويل من العملاء في كومبو بوكس finfrom بما يقابله من اسم العميل احمد finsubfrom الى مثلا الشركة finto بما يقابله من اسم خزينه شركة وبالتالي يصبح زياده في رصيد صندوق الشركة باعتبار تم توريد مبلغ للشركة من العميل نتيجه بيع فاتوره مبيعات…… 

 يبقى لدينا عمليه حفظ بيانات صرف وتوريد النقديه في قاعده بيانات وليس لدينا جدول خاص بحفظ هذه البيانات لذلك نقوم بانشاء جدول جديد ونسميه باي اسم تريدونه مثلا اسم financial_accounts ثم نكتب الحقول التي نحتاجها لحفظ بيانات كما يلي : ـ finld ➖➖ رقم ـ findate➖➖ تاريخ/وقت ـ fintime➖➖تاريخ /وقت ـ finstste➖➖نص ـ finmoney➖➖➖عمله ـ finfrom ➖➖➖نص ـ finsubfrom ➖➖ نص ـ finto➖➖➖➖نص ـ finsubto ➖➖نص ـ finnots➖➖➖نص ـ finuser➖➖➖نص  هذه هي الحقول التي نحتاجها .. 

 لاحظ ترتيب حقول في الصورة 


 بعد ذلك نقوم بتعريف متغيرات للداتا تيبل و داتا ادبتر و ld و code في المديول الخاص بمشروعنا نكتب الاكواد التاليه :

.vb
	  
Public financialdt As New
DataTable

Public financialda As New OleDbDataAdapter

Public mynewldfinancial As Intege
r
Public financialcmd As New OleDbCommand





Public Sub load_financial()

financialdt.Clear()

financialda = New OleDbDataAdapter("select * from financial_accounts", con)
financialda.Fill(financialdt)

End Sub





Public Sub code_financial()

Dim dt As New DataTable

Dim da As New OleDbDataAdapter("select max(finld) from financial_accounts", con)

da.Fill(dt)

If IsDBNull(dt(0)(0)) = True Then

mynewldfinancial = 1

Else

mynewldfinancial = dt(0)(0) + 1

End If

End Sub
	

الاكواد واضحه وتم شرحها نفس الاكواد سابقه وفي حدث اللود load الفورم نستدعي اجراء كود اللود load_financial 

 لاحظ ترتيب الاكواد في الصوره 




 برمجة زر الحفظ في فورم صرف وتوريد النقديه 

 نبدا في برمجة زر الحفظ  .

 نقوم بانشاء اجراء خاص لحفظ الحقول في جدول financial_account وما يقابل جميع تكس بوكس في الفورم نمسي الاجراء save ويصبح الكود كالتالي :

.vb
	  

Public Sub save_financial()


financialdt.Rows.Add()

Dim last As Integer = financialdt.Rows.Count - 1

financialdt.Rows(last).Item
("findate") = finDate.Value

financialdt.Rows(last).Item
("fintime") = fintime.Value

financialdt.Rows(last).Item
("finfrom") = finfrom.Text

financialdt.Rows(last).Item
("finld") = finld.Text

financialdt.Rows(last).Item
("finmony") = finmoney.Text

financialdt.Rows(last).Item
("finnotes") = finnotes.Text

financialdt.Rows(last).Item
("finstste") = finstate.Text

financialdt.Rows(last).Item
("finsubfrom") = finsubfrom.Text

financialdt.Rows(last).Item
("finsubto") = finsubto.Text

financialdt.Rows(last).Item
("finto") = finto.Text

financialdt.Rows(last).Item
("finuser") = finuser.Text

Dim save As New OleDbCommandBuilder
(financialda)
financialda.Update(financialdt)
financialdt.AcceptChanges()

End Sub
	

الكود تم شرحه سابقا عده مرات… 

  لاحظ ترتيب الكود في الصوره 

برمجة زر الحفظ في فورم صرف وتوريد النقديه

ثم نستدعي الاجراء في زر حفظ نكتبه

برمجة زر صرف و توريد جديد

   بعد ذلك نقوم بانشاء اجراء خاص بتفريغ جميع تكستات بوكس من بيانات بعد كل عمليه حفظ للبيانات ونسمي الاجراء newfinancial ويصبح الكود كالتالي :

.vb
	  
Public Sub newfinancial()

code_financial()

finDate.Value = Now.Date

fintime.Value = Now

finfrom.Text = ""

finld.Text =
mynewldfinancial

finmoney.Text = 0

finnotes.Text = ""

'finstate.Text = finstate.Text

finsubfrom.Text = ""

finsubto.Text = ""

finto.Text = ""

finuser.Text = ""

End Sub
	

لاحظ ترتيب الكود كما في الصوره 


 ثم نستدعي الاجراء في حدث اللود load الفورم ()newfinancial 

 

 

 ثم نضغط على زر الحفظ ونكتب الكود التالي :

.vb
	  
If finmoney.Text = 0 Then
MsgBox("يرجى ادخال مبلغ معين")

finmoney.Focus()


ElseIf finfrom.Text = Nothing Then
MsgBox("يرجى اختيار العملية من")

finfrom.Focus()



ElseIf finto.Text = Nothing Then

MsgBox("يرجى اختيار العملية الى")

finfrom.Focus()



ElseIf
RadioButton1.Checked = False And RadioButton2.Checked = False Then

MsgBox("يرجى اختيار نوع التحويل صرف او توريد")

RadioButton1.Focus()


Else


save_financial()


MsgBox("تم حفظ البيانات بنجاح")


load_financial()


newfinancial()

End If
	

الكود واضح لا يحتاج الى شرح

 لاحظ ترتيب كود كما في الصوره  

برمجة زر الحفظ في فورم التحويلات

  نقوم الان بعمل شي جميل وهو تغير شعار (صرف النقديه ) موجود على الفورم في ليبل finstate بحيث عندما نختار صرف نقديه من RadioButton1 يصبح ليبل صرف نقديه وعندما نختار توريد نقديه من RadioButton2 يصبح توريد نقديه وهكذا… 

 اذن ننقر نقرتين على صرف نقديه RadioButton1 ونكتب الكود التالي finstate.Text = "صرف نقدية" 

 ننقر نقرتين على توريد نقديه RadioButton2ونكتب الكود التالي finstate.Text = "توريد نقدية"

 لاحظ كتابه كودين في الصوره 

تغير شعار (صرف النقديه )

شاهد الفيديو  كيف يتم تغير شعار صرف وتوريد نقديه من خلال RadioButton 

 ثم ننقر نقرتين على حدث اللود load الفورم ونكتب الكود التالي :

.vb
	  

RadioButton1.Checked = true
	

حتى يتم وضع علامه صح في RadioButton1 عند تحميل الفورم لكي يتم الاختيار و تحويل بين الاثنين انتهينا من برمجة زر الحفظ 

 شاهد الفيديو  كيف تمت عمليه حفظ صرف وتوريد النقديه في قاعده بيانات في جدول financial_accounts 



الى هنا ننتهي من تصميم وبرمجة فورم صرف وتوريد النقديه بشكل كامل وسنكمل في الدرس القادم ماتبقى من مشروع السوبر ماركت …… .