تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استخراج نسسبة الارباح حسب اسم المندوب
#1
السلام  عليكم  ورحمة  الله  وبركاته  

  اتمنى من اله  ان يكون الجميع بخير  وصحة  وعافية  

اخوتي الاعزاء واجهتني مشكلة في مشروع جاس اشتغل عليه وهي كالاتي 

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

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

  اتمنى  تكون الفكرة وصلت  اخوتي  الاعزاء  وشكرا لكم  بانتظار ردودكم الكريمة  
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام أخي فراس الغزي

يجب أن توفر هيكل قاعدة البيانات للأعضاء حتى يتمكنوا من بناء جملة الإستعلام كما تريد.

لن يستطيح أحد عمل أي شيء بدون رؤية الجداول وأسماء الحقول , وإشرح لهم الحقول التي تريدها لأن البعض يسمي الحقول بأسماء غريبة لا يفمها أحد.

بعدها إن شاء الله الأمور بسيطة.
الرد }}}
تم الشكر بواسطة: فراس الغزي
#3
تمام  اخي  الغالي  

  هذا  جدول  المنتجات  ITEMS

ID int
ITEM_NAME 
ITEM_CODE 
ITEM_UNIT 
ITEM_TKLFA
ITEM_PRICE
ITEM_EXPIRE
NOTES  
ITEM_CHEACK 
ITEM_BAR 
QTY 

وهذا  جدول  تفاصيل  الفاتورة  SALE_DET
ID
SALECODE 
ITEMCODE  
ITEMNAME  
UNIT  
QTY
PRICE
DISCOUND
TOTAL
QTY_IN 

وهذا  جدول  راس الفاتورة SALEBILL
ID
SALECODE
SALETYPE  
SALEDATE 
CUSTOMERNAME  
DIBITE
MN_NAME 
TYPE_MONY  
NOTES  
DISCOUND
TOTAL  
TOTALARABIC
TOTALQTY 
SALEUSER
STATE 

هذي  تفاصيل  الجداول  اخواني  الاعزاء
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:
#4
اخوتي  الاعزاء  استخدمت  هذا الكود  الي  شرحه  في  وقت سابق  الاخ الجوكر  ولكن الان  يطلع  عندي  الارقام  مختلفة  عن الواقع  وبصراحة  تعبت  كثير  في  حل  هذا  الموضوع  

كود :
 Dim Cmd2Date As New SqlCommand("Select SALEBILL.SALECODE AS [رقم الفاتورة], " & _
                                       "MAX(SALEBILL.SALEDATE) AS [تاريخ الفاتورة]," & _
                                      " MAX(SALEBILL.MN_NAME) AS [اسم المندوب]," & _
                                      " MAX(ITEMS.ITEM_NAME) AS [اسم المنتج]," & _
                                      " MAX(ITEMS.ITEM_CODE) AS [كود المادة]," & _
                                      " ITEMS.ITEM_TKLFA AS [سعر التكلفة]," & _
                                      " MAX(SALE_DET.UNIT) AS [الوحدة]," & _
                                      " SUM(SALE_DET.QTY) AS [الكمية]," & _
                                      " SALE_DET.PRICE AS [سعر البيع]," & _
                                      " SUM(SALE_DET.TOTAL) AS [اجمالي الفاتورة]," & _
                                      " SALEBILL.TOTALQTY AS [الكميات المباعة]" & _
                                       "From SALEBILL ,ITEMS ,SALE_DET" & _
                                       "Where SALEBILL.SALEDATE >= @SALEDATE And SALEDATE <= @SALEDATE2 " & _
                                       "GROUP BY SALEBILL.SALECODE,SALEBILL.TOTALQTY,ITEMS.ITEM_TKLFA,SALE_DET.PRICE   ", con) '
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:
#5
ضع مشروعك بتنفيذ الفكرة التي تريدها
الرد }}}
تم الشكر بواسطة: فراس الغزي
#6
(10-09-18, 10:30 PM)911 كتب : ضع مشروعك بتنفيذ الفكرة التي تريدها

تفضل  اخي الغالي  ههذ  نسخة  مصغرة  من المشروع  لالنسبة  لجدال  قاعدة  البيانات  هي  كم في  المشاركة  الان  وفقك  الله  
 
.zip   WindowsApplication1.zip (الحجم : 43.29 ك ب / التحميلات : 22)
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:
#7
(10-09-18, 11:30 PM)فراس الغزي كتب :
(10-09-18, 10:30 PM)911 كتب : ضع مشروعك بتنفيذ الفكرة التي تريدها

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

ملاحظات:
  1. استخدام أداة خاصة System.Windows.Forms.Ribbon ولم يتم إضافة مكتبتها
  2. عدم وجود قاعدة البيانات أو سكريبت لها
  3. عدم وجود أي اجتهاد منك في المشروع يدل على جدية طلب المساعدة
الرد }}}
تم الشكر بواسطة:
#8
(11-09-18, 12:15 AM)911 كتب :
(10-09-18, 11:30 PM)فراس الغزي كتب :
(10-09-18, 10:30 PM)911 كتب : ضع مشروعك بتنفيذ الفكرة التي تريدها

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

ملاحظات:
  1. استخدام أداة خاصة System.Windows.Forms.Ribbon ولم يتم إضافة مكتبتها
  2. عدم وجود قاعدة البيانات أو سكريبت لها
  3. عدم وجود أي اجتهاد منك في المشروع يدل على جدية طلب المساعدة

اولا  اخي  اشكرك  على  التقييم  

  وثانيا  انا لم  استخدم  الاداة  مطلقا 
ثالثا  انا  قلت لك  انا  لم  ارفق قاعدة  البيانات  لاني  بحاجة  الى  الاستعلام  كما  اني  وضعت اسماء  الجداول  والحقول  ولكنك ان  تتعب  نفسك في القراءة  
اما  عن  عدم  وجود اجتهاد  مني  في المشروع بالفعل  لان المشروع  صار  اكثر  من ثلاث  شهور  اشتغل  عليه  واعتقد  اني  نشرت صوره في  الموقع  هذا  وليس  عيبا  ان  اطرح  مشكلة  في  اطلب  المساعدة في  حلها لان  الانسان لم  يخلق  عالما بل  تعلم  لان ما نتعله  في هذه الدنيا  اكتسابي  اناما بالنسبة  اليك  انت  اخي  فلا  اظن  انك  خرجت للدنيا  وانت  عالم في  الفيجوال بيسك  او  غيرها  على  العموم  من يعلم بحالي  يغنيه  عن سؤالي  
 واخراً  اخي  العزيز  اشكرك  على  هذه المساعدة  وفقك  الله
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:
#9
أخي العزيز ضع هذا السكربت و نفذه

كود :
/****** Object:  View [dbo].[View_1]    Script Date: 9/10/2018 11:59:27 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[View_1]
AS
SELECT DISTINCT
                        dbo.SALE_DET.ITEMNAME, dbo.SALEBILL.SALEUSER, dbo.SALEBILL.MN_NAME, dbo.ITEMS.ITEM_TKLFA, dbo.SALEBILL.DISCOUND, SUM(dbo.SALE_DET.QTY) AS QTYN, dbo.SALE_DET.PRICE,
                        SUM((dbo.SALE_DET.PRICE - dbo.ITEMS.ITEM_TKLFA) * dbo.SALE_DET.QTY) AS ALReph
FROM            dbo.ITEMS INNER JOIN
                        dbo.SALE_DET ON dbo.ITEMS.ITEM_CODE = dbo.SALE_DET.ITEMCODE INNER JOIN
                        dbo.SALEBILL ON dbo.SALE_DET.SALECODE = dbo.SALEBILL.SALECODE
GROUP BY dbo.SALE_DET.ITEMNAME, dbo.SALEBILL.SALEUSER, dbo.SALEBILL.MN_NAME, dbo.ITEMS.ITEM_TKLFA, dbo.SALEBILL.DISCOUND, dbo.SALE_DET.PRICE

GO
ثم ضع هذا في الاستعلام الخاص بزر البحث :
كود :
       Dim StrSQL As String = "SELECT DISTINCT  ITEMNAME AS [اسم المنتج],MN_NAME AS [اسم المندوب],ITEM_TKLFA AS [سعر التكلفة],DISCOUND AS [الحسم],QTYN AS [الكمية],PRICE AS [سعر البيع],ALReph AS [الربح] From View_1 Where MN_NAME='" & ComboBox1.Text & "'"

ضع هذا الكود في حدث الفورم لود مع إضافة كومبو بوكس + داتا غريد فيوا + زر :

كود :
Dim StrSQL As String = "SELECT DISTINCT MN_NAME From View_1 "
       Dim cn As New SqlConnection("Server =(local);database=Test;integrated security=True")
       Dim da As New SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataTable
       da.Fill(dt)
       For i As Integer = 0 To dt.Rows.Count - 1
           ComboBox1.Items.Add(dt.Rows(i)("MN_NAME").ToString)
       Next
الرد }}}
تم الشكر بواسطة: فراس الغزي
#10
(11-09-18, 01:06 AM)asemshahen5 كتب : أخي العزيز ضع هذا السكربت و نفذه

كود :
/****** Object:  View [dbo].[View_1]    Script Date: 9/10/2018 11:59:27 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[View_1]
AS
SELECT DISTINCT
                        dbo.SALE_DET.ITEMNAME, dbo.SALEBILL.SALEUSER, dbo.SALEBILL.MN_NAME, dbo.ITEMS.ITEM_TKLFA, dbo.SALEBILL.DISCOUND, SUM(dbo.SALE_DET.QTY) AS QTYN, dbo.SALE_DET.PRICE,
                        SUM((dbo.SALE_DET.PRICE - dbo.ITEMS.ITEM_TKLFA) * dbo.SALE_DET.QTY) AS ALReph
FROM            dbo.ITEMS INNER JOIN
                        dbo.SALE_DET ON dbo.ITEMS.ITEM_CODE = dbo.SALE_DET.ITEMCODE INNER JOIN
                        dbo.SALEBILL ON dbo.SALE_DET.SALECODE = dbo.SALEBILL.SALECODE
GROUP BY dbo.SALE_DET.ITEMNAME, dbo.SALEBILL.SALEUSER, dbo.SALEBILL.MN_NAME, dbo.ITEMS.ITEM_TKLFA, dbo.SALEBILL.DISCOUND, dbo.SALE_DET.PRICE

GO
ثم ضع هذا في الاستعلام الخاص بزر البحث :
كود :
       Dim StrSQL As String = "SELECT DISTINCT  ITEMNAME AS [اسم المنتج],MN_NAME AS [اسم المندوب],ITEM_TKLFA AS [سعر التكلفة],DISCOUND AS [الحسم],QTYN AS [الكمية],PRICE AS [سعر البيع],ALReph AS [الربح] From View_1 Where MN_NAME='" & ComboBox1.Text & "'"

ضع هذا الكود في حدث الفورم لود مع إضافة كومبو بوكس + داتا غريد فيوا + زر :

كود :
Dim StrSQL As String = "SELECT DISTINCT MN_NAME From View_1 "
       Dim cn As New SqlConnection("Server =(local);database=Test;integrated security=True")
       Dim da As New SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataTable
       da.Fill(dt)
       For i As Integer = 0 To dt.Rows.Count - 1
           ComboBox1.Items.Add(dt.Rows(i)("MN_NAME").ToString)
       Next


السلام عليكم اخي الكريم بداية اشكرك اخي على هذا العمل والمساعدة
ولكن واجهتني مشكلة ايضا هي اني لما عملت المطلوب مني لما اطلب الفورم الخاص بيتاخر الا يشتغل ولما يشتغل بيطلع فاضي مع العلم اني ضفت بتم وضفت كوبو بوكس ودتا جريد فيو

اتمنى ان تساعدني في معرفة السبب
((  لا أحد يمكن له  ان يحدد متى يموت ولكن هو  من يقدر  ان يحدد  كيف يعيش بعد الموت فالحياة والمماة بيد الله  لكن  حياتك بعد الموت بيدك  فلا  تندم  على شيء فاتك في الدنيا لربما يرزقك  الله  خير  منه في  الاخرة  او لربما  دفع الله  عنك به  شيأ  اعظم  ...  تلك  هي  مشيئة الله  عز  وجل )) 
الرد }}}
تم الشكر بواسطة:



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


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