(16-06-24, 04:17 PM)محمد العامر كتب : السلام عليكم ورحمة الله وبركاته
كل عام وانتم بخير
كيف أستطيع أن اعمل إحصائيات في البرنامج نفس إحصائيات الاكسل بالدالة COUNTIF
يعني لنفرض أن لدي مسميات وظيفية وجنسيات و مدن
واحتاج أعرف كم عدد المسميات الوظيفية في مدينة معينة والجنسيات التي تشغل هذه الوظائف
وعليكم السلام و رحمة الله وبركاته
طبق هذا المثال
لإنشاء تطبيق VB.NET مع واجهة مستخدم (Windows Forms) وقاعدة بيانات لإجراء الإحصائيات، يمكنك اتباع الخطوات التالية. سنستخدم SQL Server Express كقاعدة بيانات، وADO.NET للوصول إلى البيانات.
الخطوات
إنشاء قاعدة البيانات:
أنشئ قاعدة بيانات جديدة في SQL Server واسمها مثلاً "JobStatisticsDB".
أنشئ جدولاً باسم "Employees" يحتوي على الأعمدة التالية: JobTitle, Nationality, City.
إعداد المشروع في Visual Studio:
أنشئ مشروع Windows Forms جديد في Visual Studio.
أضف مراجع (References) لـ System.Data و System.Data.SqlClient.
تصميم الفورم:
أضف عناصر واجهة مستخدم (Labels, TextBoxes, Buttons, DataGridView) لتحديد المدينة والمسميات الوظيفية ولعرض النتائج.
الكود المصدري:
أضف الكود للتعامل مع قاعدة البيانات وإجراء الاستعلامات.
الكود
SQL لإنشاء الجدول
PHP كود :
CREATE DATABASE JobStatisticsDB;
USE JobStatisticsDB;
CREATE TABLE Employees (
Id INT PRIMARY KEY IDENTITY(1,1),
JobTitle NVARCHAR(50),
Nationality NVARCHAR(50),
City NVARCHAR(50)
);
INSERT INTO Employees (JobTitle, Nationality, City) VALUES
('مدير', 'مصري', 'الرياض'),
('محاسب', 'سعودي', 'جدة'),
('مدير', 'أردني', 'الرياض'),
('مبرمج', 'سعودي', 'جدة'),
('محاسب', 'مصري', 'الرياض');
تصميم الفورم
أضف Label و TextBox للمدينة.
أضف Label و TextBox للمسمى الوظيفي.
أضف Button لتنفيذ البحث.
أضف DataGridView لعرض النتائج.
الكود المصدري في VB.NET
PHP كود :
Imports System.Data.SqlClient
Public Class Form1
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
Dim targetCity As String = txtCity.Text
Dim targetJobTitle As String = txtJobTitle.Text
' تغيير هذه السلسلة وفقاً لإعدادات قاعدة بياناتك
Dim connectionString As String = "Server=YOUR_SERVER_NAME;Database=JobStatisticsDB;Trusted_Connection=True;"
Using connection As New SqlConnection(connectionString)
connection.Open()
Dim query As String = "SELECT Nationality, COUNT(*) AS Count " &
"FROM Employees " &
"WHERE City = @City AND JobTitle = @JobTitle " &
"GROUP BY Nationality"
Using command As New SqlCommand(query, connection)
command.Parameters.AddWithValue("@City", targetCity)
command.Parameters.AddWithValue("@JobTitle", targetJobTitle)
Dim adapter As New SqlDataAdapter(command)
Dim table As New DataTable()
adapter.Fill(table)
' عرض النتائج في DataGridView
dgvResults.DataSource = table
' حساب عدد المسميات الوظيفية
Dim countQuery As String = "SELECT COUNT(*) FROM Employees WHERE City = @City AND JobTitle = @JobTitle"
Using countCommand As New SqlCommand(countQuery, connection)
countCommand.Parameters.AddWithValue("@City", targetCity)
countCommand.Parameters.AddWithValue("@JobTitle", targetJobTitle)
Dim count As Integer = Convert.ToInt32(countCommand.ExecuteScalar())
lblCount.Text = "عدد المسميات الوظيفية: " & count
End Using
End Using
End Using
End Sub
End Class
الشرح
الاتصال بقاعدة البيانات:
قم بفتح اتصال بقاعدة البيانات باستخدام SqlConnection.
استعلام SQL:
استخدم استعلام SQL لجلب عدد الجنسيات للمسمى الوظيفي في المدينة المحددة.
استخدم SqlDataAdapter لملء DataTable بالنتائج وعرضها في DataGridView.
استخدم استعلام SQL آخر لحساب عدد المسميات الوظيفية وعرضها في Label.
إعدادات واجهة المستخدم:
تعيين مصدر البيانات لـ DataGridView لعرض النتائج.
تعيين النص في Label لعرض عدد المسميات الوظيفية.
بهذا الشكل، سيكون لديك تطبيق VB.NET يقوم بإجراء إحصائيات مشابهة لدالة COUNTIF في Excel مع واجهة مستخدم وقاعدة بيانات.