تصميم و برمجة فورم المصاريف

في الدرس السابق انتهينا من تصميم فورم صرف وتوريد النقديه  وعرفنا شلون نصرف ونورد النقديه (دفع مستحقات علئ الشركة وللشركة ) .

تصميم فورم المصاريف

 ولو رجعنا الى جدول Expenses الخاص بحفظ المصاريف المستحقه على الشركة لكن لو فكرتوا وياي كيف نضيف المصاريف ونحفظها في هذا الجدول ليس هناك فورم خاص بالمصاريف حتى نضيف مصاريف الشركة لذلك سنقوم بانشاء فورم  المصاريف على السريع و نسميه Expenses ونضيف عليه الادوات التالية : ـ ➖Button➖ عدد 4

 ـ ➖ Textbox عدد 6 

ـ➖ Datagridview لعرض بيانات عليها

 ـ➖ DateTimePicker عدد 2 ثم نضع امام كل textbox و Datagridview ليبل label بحيث ونسمي الليبلات 

كما في الصورة  للشكل النهائي للفورم 

تصميم وبرمجة فورم المصاريف

 ثم نغير اسماء Button تسميه ليس برمجيا واحد للاضافة والحفظ والتعديل والحذف

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

 ثم نضيف حقول اضافية في جدول Expensee ويصبح بعد الاضافه كالتالي ـ Expenseld ـ Expensename ـ Expensebalance ـ Expensedate ـ Expensetime ـ Expensenotes ـ Expenseuser 

 بحيث يصبح جدول Expenses كما في الصورة 

 


ربط فورم المصاريف بالفورم الرئيسي

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

.vb
	  
Expenses.MdiParent = Me

Expenses.WindowState = FormWindowState.Maximized

Expenses.Show()
	

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

ربط فورم المصاريف بالفورم الرئيسي


لاحظ ايضا كيف تم اضافة فرع في قائمه الحسابات كما في الصورة  . 


 الاتصال بجدول المصاريف

ثم كالعاده نعرف متغيرات للداتا تيبل وداتا ادبتر و ld و code و load وكتب الاكواد في المديول كالتالي

.vb
	  

Public Expensesdt As New DataTable

Public Expensesda As New OleDbDataAdapter

Public mynewldExpenses As Integer

Public Expensescmd As New OleDbCommand

	


Public Sub load_Expenses()

Expensesdt.Clear()

Expensesda = New OleDbDataAdapter("select * from Expenses", con)
Expensesda.Fill(Expensesdt)

End Sub




Public Sub code_Expenses()

Dim dt As New DataTable

Dim da As New OleDbDataAdapter("select max(Expenseld) from
Expenses", con)

da.Fill(dt)

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

mynewldExpenses = 1

Else

mynewldExpenses = dt(0)(0) + 1

End If

End Sub
	

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

متغيرات الاتصال بجدول المصاريف

 تحميل بيانات المصاريف

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

load_Expenses()

وفي نفس حدث اللود load الفورم نكتب الكود التالي لتحميل بيانات الجدول :

.vb
	  
DataGridView1.DataSource = Expensesdt
	


 برمجة فورم المصاريف

الان ناتي الى برمجة   ازرار الحذف والحفظ والتعديل والاضافة

اجراء  لتفريغ تكستات بوكس من البيانات بعد كل عمليه اضافة و حفظ 

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

.vb
	  
Public Sub NewExpenses()

code_Expenses()

Expensename.Text = ""

Expensebalance.Text = 0

Expensedate.Value = Now.Date

Expenseld.Text = mynewldExpenses

Expensenotes.Text = ""

Expenseuser.Text = ""

Expensetime.Value = Now

End Sub
	

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

اجراء  لتفريغ تكستات بوكس من البيانات بعد كل عمليه اضافة و حفظ

 ثم نقوم باستدعاء الاجراء في زر الاضافة وفي حدث اللود load الفورم

.vb
	  
NewExpenses()

	

برمجة زر حفظ مصروف

ننقر نقرتين على الزر حفظ ونكتب الكود التالي :

.vb
	  

Expensesdt.Rows.Add()

Dim last As Integer = Expensesdt.Rows.Count - 1
Expensesdt.Rows(last).Item
("Expensename") = Expensename.Text

Expensesdt.Rows(last).Item
("Expensebalance") = Expensebalance.Text

Expensesdt.Rows(last).Item
("Expensenotes") = Expensenotes.Text

Expensesdt.Rows(last).Item
("Expenseld") = Expenseld.Text

Expensesdt.Rows(last).Item
("Expensetime") = Expensetime.Value

Expensesdt.Rows(last).Item
("Expensedate") = Expensedate.Value

Expensesdt.Rows(last).Item
("Expenseuser") = Expenseuser.Text


Dim save As New OleDbCommandBuilder
(Expensesda)

Expensesda.Update(Expensesdt)

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

load_Expenses()

NewExpenses()
	

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

برمجة زر حفظ مصروف

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

 ننقر نقرتين على زر تعديل  ونكتب الكود التالي :

.vb
	  

Dim pos As Integer = BindingContext(Expensesdt)
.Position

Expensesdt.Rows(pos).Item
("Expensename") = Expensename.Text

Expensesdt.Rows(pos).Item
("Expensebalance") = Expensebalance.Text

Expensesdt.Rows(pos).Item
("Expensenotes") = Expensenotes.Text

Expensesdt.Rows(pos).Item
("Expenseld") = Expenseld.Text

Expensesdt.Rows(pos).Item
("Expensetime") = Expensetime.Value

Expensesdt.Rows(pos).Item
("Expensedate") = Expensedate.Value

Expensesdt.Rows(pos).Item
("Expenseuser") = Expenseuser.Text

Dim save As New OleDbCommandBuilder
(Expensesda)
Expensesda.Update(Expensesdt)
Expensesdt.AcceptChanges()
MsgBox("تم حفظ البيانات بنجاح")

load_Expenses()
	

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

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


 برمجة عرض بيانات المصاريف على تكستات بوكس

 في حاله تعديل البيانات نذهب الى datagridview ومن الاحداث نختار حدث selectionchanged ونكتب الكود التالي :

.vb
	  

Try


Dim pos As Integer = BindingContext(Expensesdt)
.Position


Expensename.Text = Expensesdt.Rows(pos).Item
("Expensename")


Expensebalance.Text = Expensesdt.Rows(pos).Item
("Expensebalance")


Expensenotes.Text = Expensesdt.Rows(pos).Item
("Expensenotes")


Expenseld.Text = Expensesdt.Rows(pos).Item
("Expenseld")


Expensetime.Text = Expensesdt.Rows(pos).Item
("Expensetime")


Expensedate.Text = Expensesdt.Rows(pos).Item
("Expensedate")


Expenseuser.Text = Expensesdt.Rows(pos).Item
("Expenseuser")


Catch ex As Exception

End Try
	

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

برمجة عرض بيانات المصاريف على تكستات بوكس

 برمجة زر حذف مصروف

ننقر نقرتين على زر الحذف  ونكتب الكود التالي :

.vb
	  
If MsgBox("هل تريد حذف المصروف", MsgBoxStyle.OkCancel, "تاكيد الحذف") = MsgBoxResult.Ok Then


Dim pos As Integer = BindingContext(Expensesdt)
.Position

Expensesdt.Rows(pos).Delete()

Dim save As New OleDbCommandBuilder
(Expensesda)

Expensesda.Update(Expensesdt)
Expensesdt.AcceptChanges()

MsgBox("تم الحذف")

load_Expenses()

Else

End If

End Sub
	

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

برمجة زر حذف مصروف

تنفيذ فورم المصاريف

 شاهد بالفيديو بعد تنفيذ فورم المصاريف كيف تمت عمليه الحفظ والتعديل والحذف .




 كورس أحتراف  برمجة و تصميم مشروع السوبر ماركت  الفيجول بيسك دوت نت 

 وهذه فورمات المشروع  كالتالي : 

فورم الموردين 

فورم العملاء 

 فورم الاصناف 

 فورم المكان 

فورم المجموعة 

 فورم الشركة  

فورم فاتوره المبيعات 

 فورم مرتجع البيع

 فورم فاتوره المشتريات

 فورم مرتجع الشراء 

  فورم الحضور

  فورم الانصراف  

فورم الموظفين  المسخدمين

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

  فورم المصروفات

  فورم حساب الايراد اليومي

   هذه جميع فورمات التي تم تصميمها وبرمجتها في نظام السوبر ماركت و بالتالي نستطيع ان نمنع الموظف من الدخول لاحد الفورمات من خلال فورم الصلاحيات او العكس .