تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كود قاعدة بيانات visual basic 2010 express
#1
ا
السلام عليكم 
 عملت برنامج يحتوي على قاعدة بيانات . قاعدة البيانات تم عملها من داخل البرمجية  البرنامج مخصص لسلف الموظفين  وعملت جدولين 
الجدول الاول به اسم الموظف و طبيعة عمله و ملاحظات
الجدول الثاني به اسم الموظف و قيمة السلفة و التاريخ 

 المطلوب اذا تكرمتم 

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

المشروع بالمرفقات

و جزاكم الله كل خير 


الملفات المرفقة
.zip   SAKHER - Copy.zip (الحجم : 954.54 ك ب / التحميلات : 47)
الرد }}}
تم الشكر بواسطة:
#2
لربط الجدولين ببعض في قاعدة البيانات الخاصة ببرنامج سلف الموظفين، يمكنك استخدام العلاقات بين الجداول (Relations) باستخدام المفتاح الأساسي (Primary Key) و المفتاح الأجنبي (Foreign Key). في حالتك، سيحتوي جدول "السلف" على المفتاح الأجنبي الذي يربط كل سجل سلفة بسجل الموظف في جدول "الموظفين".

هيكل الجدولين:
جدول الموظفين (Employees)

EmployeeID (مفتاح أساسي)
EmployeeName
JobType
Notes
جدول السلف (Loans)

LoanID (مفتاح أساسي)
EmployeeID (مفتاح أجنبي، يشير إلى EmployeeID في جدول "الموظفين")
LoanAmount
LoanDate
كيفية ربط الجدولين:
في جدول "السلف"، تقوم بإنشاء حقل EmployeeID ليكون مفتاحًا أجنبيًا يرتبط بحقل EmployeeID في جدول "الموظفين".
تأكد من أن العلاقة بين الجدولين هي علاقة واحدة إلى متعدد (One-to-Many)، حيث يمكن أن يكون لكل موظف عدة سلف، لكن كل سلفة تتعلق بموظف واحد فقط.
استعلامات SQL:
1. إنشاء الجداول:

PHP كود :
CREATE TABLE Employees (
 
   EmployeeID INT PRIMARY KEY,
 
   EmployeeName VARCHAR(100),
 
   JobType VARCHAR(50),
 
   Notes TEXT
);

CREATE TABLE Loans (
 
   LoanID INT PRIMARY KEY,
 
   EmployeeID INT,
 
   LoanAmount DECIMAL(102),
 
   LoanDate DATE,
 
   FOREIGN KEY (EmployeeIDREFERENCES Employees(EmployeeID)
); 


2. استعلام لحساب مجموع السلف لشهر معين:

لتستعلم عن مجموع السلف التي أخذها موظف معين في نهاية الشهر، يمكنك استخدام الاستعلام التالي:

PHP كود :
Public Sub GetEmployeeLoanSummary(employeeName As Stringmonth As Integeryear As Integer)
    ' الاتصال بقاعدة البيانات
    Dim connectionString As String = "your_connection_string_here"
    Dim query As String = "SELECT E.EmployeeName, SUM(L.LoanAmount) AS TotalLoans, GROUP_CONCAT(L.LoanDate) AS LoanDates " & _
                          "FROM Employees E " & _
                          "INNER JOIN Loans L ON E.EmployeeID = L.EmployeeID " & _
                          "WHERE E.EmployeeName = @EmployeeName AND MONTH(L.LoanDate) = @Month AND YEAR(L.LoanDate) = @Year " & _
                          "GROUP BY E.EmployeeName"

    Using conn As New SqlConnection(connectionString)
        Using cmd As New SqlCommand(query, conn)
            ' 
إضافة المعلمات
            cmd
.Parameters.AddWithValue("@EmployeeName"employeeName)
            cmd.Parameters.AddWithValue("@Month"month)
            cmd.Parameters.AddWithValue("@Year"year)

            ' ملء DataTable بالنتائج
            Dim dt As New DataTable()
            Using da As New SqlDataAdapter(cmd)
                da.Fill(dt)
            End Using

            ' 
التحقق من وجود نتائج
            
If dt.Rows.Count 0 Then
                Dim totalLoans 
As String dt.Rows(0)("TotalLoans").ToString()
                Dim loanDates As String dt.Rows(0)("LoanDates").ToString()

                ' عرض النتيجة في MessageBox
                MessageBox.Show("Total Loans: " & totalLoans & vbCrLf & "Loan Dates: " & loanDates, "Loan Summary", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                ' 
عرض رسالة إذا لم توجد سلف للموظف في الشهر المحدد
                MessageBox
.Show("No loans found for this employee in the selected month.""No Data"MessageBoxButtons.OKMessageBoxIcon.Information)
            End If
        End Using
    End Using
End Sub 

شرح الكود:
الاتصال بقاعدة البيانات: يتم فتح الاتصال باستخدام SqlConnection مع سلسلة الاتصال المناسبة.
الاستعلام: الاستعلام يقوم بحساب إجمالي السلف (SUM(L.LoanAmount)) للموظف في الشهر المحدد (@Month) والسنة المحددة (@Year).
المعلمات: يتم إضافة المعلمات (اسم الموظف، الشهر، السنة) باستخدام cmd.Parameters.AddWithValue.
جلب البيانات: يتم استخدام SqlDataAdapter لتحميل البيانات في DataTable.
عرض النتيجة: يتم عرض النتيجة باستخدام MessageBox، حيث يظهر إجمالي السلف وتواريخ السلف.
3. كيفية استخدام الكود:
لتنفيذ هذا الكود واستدعاء الوظيفة، يمكنك استخدام التالي في البرنامج:

PHP كود :
' استدعاء الوظيفة عند طلب استعلام الموظف
GetEmployeeLoanSummary("اسم الموظف", 1, 2025) 



"اسم الموظف": اسم الموظف الذي ترغب في الاستعلام عنه.
1: الشهر الذي تريد الاستعلام عنه (مثال: يناير).
2025: السنة التي تريد الاستعلام عنها.
ملاحظات:
تأكد من استبدال "your_connection_string_here" بسلسلة الاتصال الخاصة بك بقاعدة البيانات.
تأكد من أن الجداول تحتوي على بيانات صحيحة وأن الموظف الذي يتم الاستعلام عنه موجود في قاعدة البيانات.
الرد }}}
تم الشكر بواسطة: Zuhare , Zuhare


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,450 29-04-25, 08:55 PM
آخر رد: mmaalmesry
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 696 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 659 24-04-25, 12:58 PM
آخر رد: foad8920
  مشكلة عدم قراءة قاعدة بيانات MS access 0 422 29-03-25, 01:58 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 352 29-03-25, 01:57 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 288 29-03-25, 01:57 PM
آخر رد: ibraa939
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 648 09-03-25, 03:52 AM
آخر رد: silverlord
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 517 25-02-25, 09:31 AM
آخر رد: heem1986
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 9 2,747 07-02-25, 07:59 PM
آخر رد: الورد2
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 777 07-02-25, 07:57 PM
آخر رد: الورد2

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


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