منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إظهار نتيجة من جدول أخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

لدي جدولين ،جدول الموظفين و جدول الإجازات .

إريد عن إختيار الموظف تظهر لي أخر اجازة حصل عليها

البرنامج في المرفقات ولكم تحياتي
السلام عليكم

للاستعلام عن آخر إجازة يتم بعكس الترتيب بـ DESC وأخذ سطر واحد بـ TOP 1
كود :
Private Sub dgv_AllName_SelectionChanged(sender As Object, e As EventArgs) Handles dgv_AllName.SelectionChanged
    Me.NameEjaza.Text = ""
    Me.DateStart.Text = ""
    Me.DateEnd.Text = ""
    Dim da As New OleDbDataAdapter
    da = New OleDbDataAdapter("select top 1 * from Ejaza where id1='" & Val(Me.ID1.Text) & "' order by DateStart DESC", con)
    Dim dt As New DataTable
    If da.Fill(dt) > 0 Then
        Me.NameEjaza.Text = dt.Rows(0)("NameEjaza").ToString()
        Me.DateStart.Text = dt.Rows(0)("DateStart").ToString()
        Me.DateEnd.Text = dt.Rows(0)("DateEnd").ToString()
    End If
End Sub

أرجوأن يكون المطلوب
هذا هو المطلوب

جزاك الله خير

و الف شكر
(13-09-19, 07:08 PM)سميـر كتب : [ -> ]السلام عليكم

للاستعلام عن آخر إجازة يتم بعكس الترتيب بـ DESC وأخذ سطر واحد بـ TOP 1
كود :
Private Sub dgv_AllName_SelectionChanged(sender As Object, e As EventArgs) Handles dgv_AllName.SelectionChanged
   Me.NameEjaza.Text = ""
   Me.DateStart.Text = ""
   Me.DateEnd.Text = ""
   Dim da As New OleDbDataAdapter
   da = New OleDbDataAdapter("select top 1 * from Ejaza where id1='" & Val(Me.ID1.Text) & "' order by DateStart DESC", con)
   Dim dt As New DataTable
   If da.Fill(dt) > 0 Then
       Me.NameEjaza.Text = dt.Rows(0)("NameEjaza").ToString()
       Me.DateStart.Text = dt.Rows(0)("DateStart").ToString()
       Me.DateEnd.Text = dt.Rows(0)("DateEnd").ToString()
   End If
End Sub

أرجوأن يكون المطلوب


اعتذر على ازعاجك و إزعاج الاخوان الباقين
هل بالأمكان أن تربطها مع جدولين مختلفه ، و المرة هذي بدون داتا قريد .

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


قم باستبدال جملة SQL بالجملة التالية وقم بوضع اسم جدول الموظفين وحقل رقم الموظف

كود :
"select * from Ejaza e,اسم جدول الوظفين m where m.اسم حقل رقم الموظف=e.id1 And e.DateStart=(select max(DateStart) from Ejaza where id1='" & Val(Me.ID1.Text) & "' ) And id1='" & Val(Me.ID1.Text) & "'"





تمنياتي لك وللجميع التوفيق
(20-09-19, 06:12 PM)baha كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته


قم باستبدال جملة SQL بالجملة التالية وقم بوضع اسم جدول الموظفين وحقل رقم الموظف

كود :
"select * from Ejaza e,اسم جدول الوظفين m where m.اسم حقل رقم الموظف=e.id1 And e.DateStart=(select max(DateStart) from Ejaza where id1='" & Val(Me.ID1.Text) & "' ) And id1='" & Val(Me.ID1.Text) & "'"





تمنياتي لك وللجميع التوفيق

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

كان هناك نقص في جملة SQL, الكود بعد التعديل بعض الحقول لم أقم بعرضها ولكن يمكنك عرضها كما تشاء




[attachment=22975]التعديل  





تمنياتي لك وللجميع التوفيق
للأسف لم تنجح معي
مرحبا ،،

هذا كود البحث كامل استبدله ،،

كود :
If T1.Text = "" Then
           MsgBox("الرجاء ادخال البيانات كاملة ")
           T1.Focus()
       Else
           Try

               Using da As New OleDbDataAdapter("select AllName.ID, AllName.ID1, AllName.Name1, AllName.Age, AllName.HomeHdress ,Ejaza.ID, Ejaza.NameEjaza, Ejaza.DateStart, Ejaza.DateEnd from AllName, Ejaza where AllName.ID1= Ejaza.ID1 And AllName.ID1 ='" & T1.Text & "' order by DateStart Desc", con)

                   Dim dt As New DataTable
                   da.Fill(dt)

                   If dt.Rows.Count > 0 Then

                       Name1.Text = dt.Rows(0)("Name1")
                       ID1.Text = dt.Rows(0)("ID1")
                       Age.Text = dt.Rows(0)("Age")
                       HomeHdress.Text = dt.Rows(0)("HomeHdress")

                       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

                       NameEjaza.Text = dt.Rows(0)("NameEjaza")
                       TextBox1.Text = dt.Rows(0)("DateStart")
                       TextBox2.Text = dt.Rows(0)("DateEnd")

                   Else

                       MsgBox("رقم القسم غير موجود")
                   End If

               End Using

           Catch exp As Exception
               MsgBox(exp.Message)
           End Try
       End If
وهذا الإستعلام من 3 جداول :

كود :
If T1.Text = "" Then
           MsgBox("الرجاء ادخال البيانات كاملة ")
           T1.Focus()
       Else
           Try

               Using da As New OleDbDataAdapter("Select Top 1 AllName.Name1, AllName.ID1, AllName.Age, AllName.HomeHdress,
                       Dorat.NameDorh, Dorat.Modh, Dorat.DateEnd,
                       Ejaza.NameEjaza, Ejaza.DateStart, Ejaza.DateEnd
                       FROM(Ejaza INNER JOIN Dorat On Ejaza.ID1 = Dorat.ID1)
                       INNER Join AllName On Dorat.ID1 = AllName.ID1
                       WHERE(((AllName.ID1) = '" & T1.Text & "'))
                       GROUP BY AllName.ID1, AllName.Name1, AllName.Age, AllName.HomeHdress,
                       Dorat.NameDorh, Dorat.Modh, Dorat.DateEnd, Ejaza.NameEjaza,
                       Ejaza.DateStart, Ejaza.DateEnd ORDER BY Dorat.DateEnd DESC , Ejaza.DateEnd DESC", con)

                   Dim dt As New DataTable
                   da.Fill(dt)

                   If dt.Rows.Count > 0 Then

                       Name1.Text = dt.Rows(0)(0)
                       ID1.Text = dt.Rows(0)(1)
                       Age.Text = dt.Rows(0)(2)
                       HomeHdress.Text = dt.Rows(0)(3)

                       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

                       NameEjaza.Text = dt.Rows(0)(7)
                       TextBox1.Text = dt.Rows(0)(8)
                       TextBox2.Text = dt.Rows(0)(9)

                       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

                       TextBox3.Text = dt.Rows(0)(4)
                       TextBox4.Text = dt.Rows(0)(5)
                       TextBox5.Text = dt.Rows(0)(6)

                   Else

                       MsgBox("رقم القسم غير موجود")
                   End If

               End Using

           Catch exp As Exception
               MsgBox(exp.Message)
           End Try
       End If
الصفحات : 1 2