التعامل مع الرسوم البيانية أو مخططات البيانات بإستخدام MSChart Control

إرسال مساهمة في موضوع

اذهب الى الأسفل

التعامل مع الرسوم البيانية أو مخططات البيانات بإستخدام MSChart Control

مُساهمة من طرف NEXT في الإثنين أكتوبر 29, 2018 7:24 am

يسمح لنا عنصر التحكم MSChart بإنشاء الرسوم البيانية فى مشروع الفجوال بيسك بعدة طرق.حيث يمكنك إنشاء مخطط عن طريق تعيين البيانات في صفحة خصائص عنصر التحكم ، أو عن طريق استرداد البيانات التي سيتم رسمها من مصدر آخر ، مثل جدول بيانات Microsoft Excel. أو جدول بيانات فى اى قاعدة بيانات اخري 

 رسم البيانات باستخدام مصفوفة رقمية و خاصية ChartData

إن أبسط طريقة لرسم تخطيط هي إنشاء مصفوفة من القيم الرقمية ، ثم تعين قيم تلك المصفوفة الى الخاصية ChartData  كما هو موضح في المثال التالي:

الكود:

Dim arrPrices(1 to 10)
Dim i As Integer
For i = 1 to 10
   arrPrices(i)= i * 2
Next i
MSChart1.ChartData = arrPrices

ينتج الرمز أعلاه تخطيطًا بسيطًا ومفردًا من نقاط البيانات ذات سلسلة بيانات واحدة.


لإنشاء مخطط أكثر تعقيدًا ومتعدد المجموعات ، يجب إنشاء مصفوفة متعدد الأبعاد ، كما هو موضح في المثال التالي:

الكود:

Dim arrPriceQuantity(1 to 5, 1 to 2)
Dim i as Integer
For i = 1 to 5
   arrPriceQuantity(i, 1) = i ' Series 1
   arrPriceQuantity(i, 2) = 0 - i ' Series 2
Next i
MsChart1.ChartData = arrPriceQuantity





إضافة تسميات إلى الرسم البياني 

توضح الشفرة التالية كيفية اضافة مسميات للرسم البياني :

الكود:

Dim arrValues(1 to 5, 1 to 3)
Dim i as Integer
For i = 1 to 5
   arrValues(i, 1) = "Label " & i ' Labels
   arrValues(i, 2) = 0 + i ' Series 1 values.
   arrValues(i, 3) = 2 * i ' Series 2 values.
Next i
MsChart1.ChartData = arrValues




كما ترى ، يمكن أن يكون إنشاء مخطط بيانات سريعًا وبسيطًا باستخدام خاصية ChartData . ومع ذلك ، فإن مشكلة استخدام تلك الطريقة هو الحصول على البيانات من مصفوفة البيانات ثابتة القيم التى لا تتغير . 

لذل يفضل معظم المطورين استخدام بيانات جداول البيانات ، مثل Microsoft Excel ، أو ربما برنامج قاعدة بيانات ، مثل Microsoft Access ، لتخزين البيانات واستردادها لرسم مخطط بيانات ديناميكي على النحو التالى :

أستخدام طريقة DataSource لتعبئة البيانات من جدول قاعدة بيانات 

الكود:

Option Explicit
' Be sure to set a reference to the Microsoft ActiveX Data
' Objects 2.0 Library.
Private rsProducts As New ADODB.Recordset
Private cn As New ADODB.Connection

Private Sub Form_Load()
   Dim strQuery As String ' SQL query string.

   ' First change the path to a valid path for your machine.
   cn.ConnectionString = _
   "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & _
   "C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb" ' <-Change this path.

   ' Open the connection.
   cn.Open
  
   ' Create a query that retrieves only four fields.
   strQuery = "SELECT ProductName, UnitPrice, " & _
   "UnitsInStock, UnitsOnOrder FROM Products WHERE SupplierID = 1"
   ' Open the recordset.
   rsProducts.Open strQuery, cn, adOpenKeyset
  
 ' Set the DataSource to the recordset.
  
 With MSChart1
      .ShowLegend = True
      Set .DataSource = rsProducts
   End With
End Sub





باستخدام ورقة عمل Excel لتعبئة مصفوفة :

إذا كان لديك بيانات مخزنة في ورقة عمل Excel ، يمكنك استخدام الأسلوب GetObject للحصول على مرجع إلى المصنف الذي يحتوي على ورقة العمل ، ثم استرداد القيم باستخدام المرجع.

 للحصول أولاً على المرجع ، فإن الوسيطة الوحيدة المطلوبة هي المسار إلى المصنف ، كما هو موضح أدناه:

ضع هذا الرمز في المقطع Declarations.


الكود:
Dim wkbObj As WorkBook

فى حدث التحميل :

الكود:
[right]Private Sub Form_Load()
   ' Then set the variable with the GetObject method.
   Set wkbObj = GetObject _
      ("C:\My Documents\MySpread.xls")
End Sub



ثم بعد ذلك انشاء مصفوفة لقرءاة محتوي ورقة عمل الاكسل التى بها البيانات باستخدم الأسلوب Range بالاقتران مع الخاصية Value للحصول على البيانات من أي خلية مفردة في جدول بيانات.:


الكود:

Dim arrPrices (1 to 7)
Dim i As Integer
For i = 1 to 7
   ' Fill the array with seven values from column B of
   ' the worksheet.
   arrPrices(i) = wkbObj.Worksheets(1) _
   .Range("B" & i + 1).Value
Next i




بعد ملء المصفوفة من بيانات ورقة الاكسل ، نقوم بتمريرها الى الخاصية chartData :

الكود:
MSChart1.ChartData = arrPrices

avatar
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 336
النقاط : 200492
التقيم : 10
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع الرسوم البيانية أو مخططات البيانات بإستخدام MSChart Control

مُساهمة من طرف جورج صبحى في الخميس نوفمبر 01, 2018 8:30 am

شكرا جزيلا ...موضوع مهم كنت فى حاجة الية 
avatar
جورج صبحى
......
......

تاريخ التسجيل : 18/02/2011
المساهمات : 114
النقاط : 242
التقيم : 4
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع الرسوم البيانية أو مخططات البيانات بإستخدام MSChart Control

مُساهمة من طرف RANA في السبت ديسمبر 08, 2018 5:51 am

        
avatar
RANA
....
....

تاريخ التسجيل : 01/08/2013
المساهمات : 66
النقاط : 106
التقيم : 2
الدولة : فلسطين
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى