الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم خصم الفاتورة من جدول السلع

مغلق
بدأه كفاح في 19 فبراير 2006 · 13 رد · 1,363 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

-9

أخوانى فى الله اعزورنى ان كثرت اسألتى فى الاونة الاخيرة وان شاء الله تكون دى اخر عقبة لي

اخوانى انا اقوم بعمل مشروع تجارى وقمت بعمل فية الكثير لكن باقى جزء صغير هو كيف استطيع ان اقوم بخصم فاتورة مبيعات ( اى السلع التى تم بيعها ) من جدول السلع ؟ -_-

بمعنى لو عندى من السلعة (A) عدد 50 وقمت بكتابة فاتورة مبيعات بعدد 25 وحدة فيجب عند حفظ الفاتورة ان تنقص الكمية الاصلية لهذا الصنف

وبالتدريج ينقص الصنف الى حد معين وهو ( حد الطلب ) وفى هذه الحالة يجب تزيد السلعة (A) من المخزون الموجود فى المخازن الشركة حتى تصل الى العدد المطلوب ؟

وباقى كل شئ فى المشروع على ما يرام

العقابات التى لم استطيع تجنبها :

1- لا استطيع خصم السلع المباعة عند كتابة الفاتورة اوتوماتكيا

2- لا استطيع تعويض النقص من المخازن الذى حدث لسلعة ما عندما وصلت الى حد الطلب

اليكم المثال الذى حاولت فية ولكن فشلت موجود بالمرفقات

هذا المثال ليس المشروع لكن مثال سريع تجربة لتوضيح الامور وعند الانتهاء نهائيا من المشروع سوف اضعة بالمنتدى ليكون أحد تجارب العملية التى كنت اتعلم عليها ان شاء الله

-waf

وشكركم جميعا

WindowsApplication1.zip

تم تعديل هذه المشاركة بواسطة كفاح في 19 فبراير 2006 في 21:25

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#2

save

   Try
Da_bil_detai.InsertCommand.CommandText = "INSERT INTO OrdersDetail(OrderID,ProductID,LimitPrice,Quantity,Total) VALUES ('" & Me.TextBox1.Text.Trim & "', '" & itemno & "','" & unit_price & "','" & Quantity & "','" & Total & "')"
                    Da_bil_detai.InsertCommand.ExecuteNonQuery()

Da_bil_detai.InsertCommand.CommandText = "UPDATE Product SET Product.Quantity = [Product]![Quantity]-" & Quantity & "WHERE (((Product.ProductID)=" & itemno & "));"
                    Da_bil_detai.InsertCommand.ExecuteNonQuery()

                Catch ex As Exception

                End Try
#3

أشكرك اخى كريم على هذه الفكرة لكن حدث خطأ هذا

19_02_06_12_53_55_1140382435error.JPG

واشكرك اخى الكريم على هذه المساعدة

تم تعديل هذه المشاركة بواسطة كفاح في 19 فبراير 2006 في 23:47

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#4
Da_bil_detai.InsertCommand.CommandText = "UPDATE Product SET Product.Quantity = [Product]![Quantity]-" & Quantity & " WHERE Product.ProductID=" & itemno
#5

بعد التعديل لا يوجد اى تأثير على الكمية الموجودة فى المنتجات

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#6

بعد التعديل لا يوجد اى تأثير على الكمية الموجودة فى المنتجات واسف على الازعاج

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#7

-9

Da_bil_detai.InsertCommand.CommandText = "UPDATE Product Quantity = Quantity -" & Quantity & " WHERE(ProductID =" & itemno & ")"

اتمني ان يكون اخر تعديل اسف للاطله

#8

ياخسارة :D

اعطانى خطأ فى Update

19_02_06_01_28_18_1140384498errot_.JPG

انا اسف وياريت مش تتضيق بجد لو الكود دة اشتغل النهاردة هتكون قدمت لية خدمة كبيرة جداااا :D

   Public Sub Insert()
        Dim ta As OleDb.OleDbTransaction
        ConnectDb()
        ta = Me.OleDbConnection1.BeginTransaction
        Me.Da_bill.InsertCommand.Transaction = ta
        Me.Da_bil_detai.InsertCommand.Transaction = ta
        Da_bill.InsertCommand.CommandText = "INSERT INTO Orders([OrderID],[CustomerID]) VALUES('" & Me.TextBox1.Text.Trim & "', '" & Cmb_customer.SelectedValue & "')"
        Da_bill.InsertCommand.ExecuteNonQuery()
        Try
            Dim dgCount As Integer = NDataGrid1.BindingContext(NDataGrid1.DataSource, NDataGrid1.DataMember).Count
            Dim I As Integer
            For I = 0 To dgCount - 1
                Dim itemno As Integer = NDataGrid1.Item(I, 0)
                Dim Quantity As Integer = NDataGrid1.Item(I, 1)
                Dim unit_price As String = NDataGrid1.Item(I, 2)
                Dim Total As String = NDataGrid1.Item(I, 3)
                Da_bil_detai.InsertCommand.CommandText = "INSERT INTO OrdersDetail(OrderID,ProductID,LimitPrice,Quantity,Total) VALUES ('" & Me.TextBox1.Text.Trim & "', '" & itemno & "','" & unit_price & "','" & Quantity & "','" & Total & "')"
                Da_bil_detai.InsertCommand.ExecuteNonQuery()
                Da_bil_detai.InsertCommand.CommandText = "UPDATE Product Quantity = Quantity -" & Quantity & " WHERE(ProductID =" & itemno & ")"
                Da_bil_detai.InsertCommand.ExecuteNonQuery()
            Next
            ta.Commit()
            MessageBox.Show("تم الحفظ بنجاح", "المشروع التجارى", MessageBoxButtons.OK, MessageBoxIcon.Information)
            DisconnectDb()
            FillData()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            ta.Rollback()
            DisconnectDb()
        End Try
    End Sub

تم تعديل هذه المشاركة بواسطة كفاح في 20 فبراير 2006 في 00:21

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#9

-9

Da_bil_detai.InsertCommand.CommandText = "UPDATE Product set Quantity = Quantity - " & Quantity & " WHERE (ProductID =" & itemno & ")"
Da_bil_detai.InsertCommand.ExecuteNonQuery()
#10

أشكرك اخى كريم على مجهودك

مع الاسف الكود غير مؤثر يتم حفظ الفاتورة لكن لا يتم الخصم ؟؟

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#11

-9

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

ملاحظة فى المرفق الجدولOrder تسميته خاطئه لانها تعتبر من الكلمات المحجوزة للSQL

Public Sub Insert()
        Dim ta As OleDb.OleDbTransaction
        ConnectDb()
        ta = Me.OleDbConnection1.BeginTransaction
        ' ta = Me.OleDbConnection2.BeginTransaction
        Me.Da_bill.InsertCommand.Transaction = ta
        Me.Da_bil_detai.InsertCommand.Transaction = ta
        Da_bill.InsertCommand.CommandText = "INSERT INTO [Order]([OrderID],[CustomerID]) VALUES(" & Me.TextBox1.Text.Trim & ", " & Me.Cmb_customer.SelectedValue & ")"
        Da_bill.InsertCommand.ExecuteNonQuery()
        Try
            Dim dgCount As Integer = NDataGrid1.BindingContext(NDataGrid1.DataSource, NDataGrid1.DataMember).Count
            Dim I As Integer
            For I = 0 To dgCount - 1
                Dim itemno As Integer = NDataGrid1.Item(I, 0)
                Dim Quantity As Integer = NDataGrid1.Item(I, 1)
                Dim unit_price As String = NDataGrid1.Item(I, 2)
                Dim Total As String = NDataGrid1.Item(I, 3)
                Da_bil_detai.InsertCommand.CommandText = "INSERT INTO OrdersDetail(OrderID,ProductID,LimitPrice,Quantity,Total) VALUES ('" & Me.TextBox1.Text.Trim & "', '" & itemno & "','" & unit_price & "','" & Quantity & "','" & Total & "')"
                Da_bil_detai.InsertCommand.ExecuteNonQuery()
                Da_bil_detai.InsertCommand.CommandText = "UPDATE [Product] SET [Quantity]=[Quantity]-" & Quantity & " WHERE [ProductID]= " & itemno & ""
                Da_bil_detai.InsertCommand.ExecuteNonQuery()
            Next
            ta.Commit()
            MessageBox.Show("تم الحفظ بنجاح", "المشروع التجارى", MessageBoxButtons.OK, MessageBoxIcon.Information)
            DisconnectDb()
            FillData()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            ta.Rollback()
            DisconnectDb()
        End Try
    End Sub

بداية موفقة :)

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#12

أشكرك اخى SOLO.NET واشرك الاخ كريم

فعلا قمت باضافة الكود وتم عمل خصم فى جدول السلع لكن عندما بدأت استخدم الكود بالمشروع الحقيقى لم يتم الخصم مع انى قمت بكتابة المثال بنفس موصفات المشروع الاصلية بمعنى لم اغير اي شئ :D

فهل هناك سبب لذلك ؟

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#13
اقتباس
فعلا قمت باضافة الكود وتم عمل خصم فى جدول السلع لكن عندما بدأت استخدم الكود بالمشروع الحقيقى لم يتم الخصم مع انى قمت بكتابة المثال بنفس موصفات المشروع الاصلية بمعنى لم اغير اي شئ

فهل هناك سبب لذلك ؟

من الصعب تحديد السبب :blink: ولكن لو كان هناك اى خطأ يظهر اخبرنا به

قم بمراجعة الكود وتحليله مجددا لمعرفة السبب

بالتوفيق

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#14

السلام عليكم

كلامك صحيح اخى SOLO.NET الحمد لله كان هناك خطأ فى Dataset المشروع الاصلى والحمد لله قمت باصلاحه وبصراحة مش عارف اقول لك اية انت واخى كريم سوفت الف شكر ليكم بجد بزلتوا جهد معاية وشكرا لكم وان شاء اكمل المشروع وبأذن الله اضعة بالمنتدى بالشرح الكامل بما قمت به من بداية التفكير فيه ليكون مثال توضحيى على صنع البرامج التجارية

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

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

هذا الموضوع مغلق.

مواضيع مشابهة