I need help from VB.NET experts

الموضوع في 'قسم الكمبيوتر والتكنولوجيا' بواسطة S p y e r, بتاريخ ‏7 يونيو 2017.

  1. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    سلام

    عندي فنكشن أبي أسويها في الـ DGV بس مو راضية تتطبق
    في ال DGV ، عندي column فيه تواريخ إستلام طلبات ، باختصار انا اخذ التواريخ و اطرحها من تاريخ اليوم عشان اجوف جم يوم مضى على استلام الطلب.
    بناءاً على هالقيمة ، أسوي Insert إلى Icon تعبر عن حالة الطلب.

    مثال:

    [​IMG]

    هالسكرين شوت ماخذنها تاريخ 31-05-2017
    عقب مرور يومين تتحول للصورة الصفراء ، عقب أكثر من يومين تصير حمراء ، واضحة الفكرة ؟

    انزين الحين الكل بيقول أكو صارت و أستوت ، الغمندة مو هني :nosweat:

    المشكلة صادتني لما جيت و شبكت هذا الكولومن مع DataSet من الداتابيس موجودة فالسيرفر.
    When i fill the DGV with the dataset from my database, and i try to fill this single column (image column) based on the elapsed days value, the program ignores the insertion code ! why ? no idea, then the image column shows up empty without values.

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


    So, the problem comes only when i try to bind the DGV with the dataset from my data source in addition to the customized image column created.

    SC :

    كود:
            For rowindex = 0 To DataGridView1.RowCount - 1
                Dim rValue = DataGridView1.Rows(rowindex).Cells(4).Value
                If DateTime.TryParse(rValue, newreceived) Then
                    difference = Today.Subtract(newreceived)
                    diff = difference.Days
                    'MessageBox.Show("days= " & newreceived)
    
    
                    If diff < 2 Then
    
                        DataGridView1.Rows(rowindex).Cells("img").Value = My.Resources.green
                    ElseIf diff = 2 Then
                        DataGridView1.Rows(rowindex).Cells("img").Value = My.Resources.yellow
                    ElseIf diff > 2 Then
                        DataGridView1.Rows(rowindex).Cells("img").Value = My.Resources.red
                    Else
                        MessageBox.Show("Condition is invalid !")
                    End If
                Else
                    MessageBox.Show("not a DateTime")
                    'Stop
                End If
    
            Next
    Any help would be appreciated ! Thanks


    للمعلومية : ما جيت كتبت هني إلا ليما وصلت لطريق مسدود ^^"
    جربت هالأشياء :

    1- أسوي image column بالكودات و ادمجه مع ال DGV و النتيجة كالتالي :

    Untitled.png

    despite the correct value of elapsed days, default image for all rows is displayed
    BTW, i have ensured the correct value of elapsed days already

    2- جربت أسويه من ال settings حق ال DGV و ما ينزل فيه قيم كلش

    3- حاولت أتأكد ان القيم الي قاعد أقارن فيها صح أو لا ، الناتج صحيح و فرق التواريخ صحيح ما فيه مشكلة

    4- كلمت منتديات أجنبية مثل stack overflow و راووني السكرين شوت الاولية وقالوا تصير ما فيها مشكلة ^^"

    الي عنده فكرة عن هالشي لا يبخل علينا ، وشكراً
     
    آخر تعديل: ‏7 يونيو 2017



  2. _ALI_

    _ALI_ Well-Known Member

    التسجيل:
    ‏5 فبراير 2014
    المشاركات:
    1,104
    الإعجابات المتلقاة:
    1,052
    نقاط الجوائز:
    198
    الدفعة الدراسية:
    معلومة خاصة
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Computer Science
    ما عندي خلفية واسعة في الـ vb.net بس تقدر تطرح سؤالك في هالموقع ؟
    http://www.vbforums.com/

    هالموقع فادني في واجد أمور كنت أعتقد بأنها مستحيلة و لكنهم حلوها لي في وقت قصير جدًا.
    بس ما أدري لحد ألحين هالموقع نشيط أو لا (عبارة هالأجيال صارت ما تهتم إلا بالـ social media app)
     


    أعجب بهذه المشاركة S p y e r
  3. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    صباح الخير

    الداتابيس Access أو SQL ؟
    تقدر تطرش ليي البرنامج sln بحيث أقدر افتحه بالفيجوال؟
    لأن فكرة البرنامج بسيطة، الـ DGV بالعادة سهل التعامل وياه والكود ماشوف فيه شي خطأ، في مثل هالحالات صعب الواحد يخمن المشكلة بدون ما يلعب في البرنامج

    طرشه ليي بشوفه يوم الأحد :)
     


    أعجب بهذه المشاركة S p y e r
  4. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    شكراً علي ، راح أجرب و أخلي بالنهاية لحد الحين ما وصلت لحل و هالسالفة صار لي تقريباً شهر أدور عن حل و لحد الحين ما وصلت لشي نهائي.

    مساء الخيرات ، الداتابيس Oracle
    إي أكيد ما طلبت شي ، الشي جداً سهل و طبيعي مثلما جفت في أول سكرين شوت ، بس من أملي ال DGV بالداتا من الداتابيس يصير التالي:

    1- you can edit only the columns that have been filled from the DB
    2- If there are any column that is not associated with the DB in the DGV, you cannot insert any values in it.
    3- i have tried to insert inside the columns by sequence, the program only ignores the image column that i created for image.
    4- my interpretation is, the problem could be from the image column properties, or the DGV properties, or the insertion code, or the Oracle Database.

    راح أطرش لك السولوشن في الخاص ، شكراً مقدماً :shiny:
     


    أعجب بهذه المشاركة _ALI_
  5. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    تأخريت عليك بس لأن صادف الجمعة والسبت =)
    توني حاولت فيه من شوي .. ضبطت عندي

    upload_2017-6-11_11-40-28.png

    بشرح ليك طريقة ثانية تضيف فيها الـ image في الـ DGV بدون ما تكون مربوطة بالداتابيس

    يتبع ..
     
    آخر تعديل: ‏11 يونيو 2017


    أعجب بهذه المشاركة S p y e r
  6. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    1. ادخل الـ DGV وضيف column جديد بهالخيارات (تأكد من اللي عليهم مستطيل أحمر)
    نفرض انك سميت الكولوم imgvb
    upload_2017-6-11_11-47-14.png



    2. تأكد راح تطلع عندك الايكون اللي جنب اسم الكولوم غير عن الباقي مثلما واضح في الصورة:

    upload_2017-6-11_11-49-13.png


    3. الكولوم اللي ضفناه ماراح يكون مربوط بالداتابيس، هو عبار عن function داخل البرنامج، وفي كل الأحوال ماعتقد راح تحتاجه في الداتابيس لان مجرد indication

    4. أنا كتبت الكود بهالطريقة، تقدر تكتبه باسلوبك عادي:

    كود:
            Dim diff
            Dim acdate
    
            For rowindex = 0 To DataGridView1.RowCount - 1
                Dim rValue = DataGridView1.Rows(rowindex).Cells(0).Value
    
                acdate = DataGridView1.Rows(rowindex).Cells("DataGridViewTextBoxColumn2").Value
                diff = DateDiff(DateInterval.Day, acdate, Today)
    
                If diff < 2 Then
                    DataGridView1.Rows(rowindex).Cells("imgvb").Value = My.Resources.green
                elseIf diff = 2 Then
                DataGridView1.Rows(rowindex).Cells("imgvb").Value = My.Resources.yellow
                elseIf diff > 2 Then
                DataGridView1.Rows(rowindex).Cells("imgvb").Value = My.Resources.red
                End If
            Next
    
    DataGridViewTextBoxColumn2 = اسم الكولوم اللي فيه التاريخ
    imgvb = اسم الكولوم الخاص بالصورة اللي أضفنها في الخطوة اللي فوق

    جربه اذا ماشتغل عندك خبرني :)
     


    أعجب بهذه المشاركة S p y e r
  7. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems

    هذا ممكن معناته بسبب نوع الداتابيس الي استخدمها ؟ (Oracle)


    للأسف جربت هالشي و جربت طريقة كتابة الكودات
    الفرق ان طريقة كتابة الكودات تطلع الصورة لكن بس صورة وحده لما تقول imgcoloumn.image = img

    بس ما تقدر تعدل عليه ، الطريقة الي توك سويتها ما يطلعون الصور خير شر


    Untitled.png
     


  8. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    أنا شغال عندي، لكن ما استخدم Oracle
    بس الكولوم اللي أضفناه ماليه علاقة بالداتابيس لان موجود فقط داخل الفيجوال

    مومشكلة بنحصل ليه طريقة :)
    أبغي اجرب شغلة .. جرب هالكود

    كود:
            Dim diff
            Dim acdate
    
            For rowindex = 0 To DataGridView1.RowCount - 1
                Dim rValue = DataGridView1.Rows(rowindex).Cells(0).Value
    
                acdate = DataGridView1.Rows(rowindex).Cells("DataGridViewTextBoxColumn2").Value
                diff = DateDiff(DateInterval.Day, acdate, Today)
    
                If diff < 2 Then
                    DataGridView1.Rows(rowindex).Cells("imgvb").Value = Image.FromFile("C:\Users\sadiq.haji\Documents\Visual Studio 2013\Projects\ExpressMed Laboratories LIS\ExpressMed Laboratories LIS\Resources\green.png")
                elseIf diff = 2 Then
                    DataGridView1.Rows(rowindex).Cells("imgvb").Value = Image.FromFile("C:\Users\sadiq.haji\Documents\Visual Studio 2013\Projects\ExpressMed Laboratories LIS\ExpressMed Laboratories LIS\Resources\yellow.png")
                elseIf diff > 2 Then
                    DataGridView1.Rows(rowindex).Cells("imgvb").Value = Image.FromFile("C:\Users\sadiq.haji\Documents\Visual Studio 2013\Projects\ExpressMed Laboratories LIS\ExpressMed Laboratories LIS\Resources\red.png")
                End If
            Next
    نفس الكود السابق بس خليت الصور على شكل امتداد مباشر
    استبدل
    C:\Users\sadiq.haji\Documents\Visual Studio 2013\Projects\ExpressMed Laboratories LIS\ExpressMed Laboratories LIS\Resources\

    بامتداد الصور اللي عندك (الباث موجود 3 مرات)


    البرنامج اللي انا سويته مرفق بعد .. نزله وجربه عندك
     

    الملفات المرفقة:

    • Sadiq_Test.zip
      حجم الملف:
      224.9 كيلوبايت
      المشاهدات:
      3


    أعجب بهذه المشاركة S p y e r
  9. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    هلا صادق ، اول شي اسف على التأخير بسبب ضغط العمل
    مو مشكلة راح أخلص الي بإيدي و راح أطبق هالشي و أرجع لك بالنتيجة ، شكراً
     


  10. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    جربته و نفس النتيجة ، الصورة الي نزلتها آخر شي كأنها Empty
     


  11. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    upload_2017-6-12_12-55-55.png

    إشتغل البرنامج الي انت مسونه ، مادري يعني قاعد أفكر في شي ، الطريقة الي انت استخدمتها في بناء ال DGV غير عن الطريقة الي أنا إستخدمتها
    أنا سويت كل شي بالكودات (ٍسويت select statement عشان أفصل الكولومنز الي ابي انزلهم بناء على شروط معينة) بينما ال DGV نفسها ما ربطتها بالداتابيس

    شغلة ثانية : لما احاول أسوي sort واضغط على ال acdate ، الصور يختفون :

    upload_2017-6-12_12-59-36.png


    جوف طريقتي في ملء ال DGV :

    1.png 2.png 3.png
     


  12. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    عدلت في الكود شوي، خليت event يسوي ريفرش للكود كلما تضغط على الهيدر تبع الجدول عشان تسوي سورت

    upload_2017-6-13_10-9-22.png

    كود:
    Public Class Form1
    
        Private Sub Table1BindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
            Me.Validate()
            Me.Table1BindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.Sadiq_Test_DBDataSet)
    
        End Sub
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: This line of code loads data into the 'Sadiq_Test_DBDataSet.Table1' table. You can move, or remove it, as needed.
            Me.Table1TableAdapter.Fill(Me.Sadiq_Test_DBDataSet.Table1)
    
            Dim diff
            Dim acdate
            Dim IDs
            For i As Integer = 0 To DataGridView1.RowCount - 1
                IDs = DataGridView1.Rows(i).Cells("DataGridViewTextBoxColumn1").Value
                acdate = DataGridView1.Rows(i).Cells("DataGridViewTextBoxColumn2").Value
                diff = DateDiff(DateInterval.Day, acdate, Today)
                If diff < 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.green
                ElseIf diff = 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.yellow
                ElseIf diff > 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.red
                End If
            Next
        End Sub
    
    
        Private Sub dataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, _
        ByVal e As DataGridViewCellMouseEventArgs) _
        Handles DataGridView1.ColumnHeaderMouseClick
    
            Dim diff
            Dim acdate
            For i As Integer = 0 To DataGridView1.RowCount - 1
                acdate = DataGridView1.Rows(i).Cells("DataGridViewTextBoxColumn2").Value
                diff = DateDiff(DateInterval.Day, acdate, Today)
                If diff < 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.green
                ElseIf diff = 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.yellow
                ElseIf diff > 2 Then
                    DataGridView1.Rows(i).Cells("imgvb").Value = My.Resources.red
                End If
            Next
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Me.Validate()
            Me.Table1BindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.Sadiq_Test_DBDataSet)
            MsgBox("All data has been updated correctly", MsgBoxStyle.Information, "Done")
        End Sub
    
    End Class

    البرنامج الجديد في المرفقات تحت، نزله وجربه مرة ثانية :smile2:

    اذا تبغي رايي، بدل الطريقة وانتقل إلى الـ bindingsource خصوصا انك للحين في بداية المشروع
    بعدما تضيف الداتابيس، افتح قائمة ال data Source على اليسار اسحب الجدول بالماوس إلى داخل الفورم وراح ينضاف عندك كل شي BindingSource و TableAdapter و AdapterManager
    بعدين في كتابة الاكواد تقدر تتعامل مع كل كولوم بروحه سواء باستخدام رقم الكولوم او اسمه
    بيكون واجد أضبط وأسهل ليك في التعامل وبتجنبك مشاكل كثيرة في البرنامج

    upload_2017-6-13_10-2-39.png
     

    الملفات المرفقة:

    • Sadiq_Test.zip
      حجم الملف:
      225.7 كيلوبايت
      المشاهدات:
      1
    آخر تعديل: ‏13 يونيو 2017


    أعجب بهذه المشاركة S p y e r
  13. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    مو مشكلة راح اطبقه بس قبل لا أطبقه أحتاج أعرف شغلة ، انا أغلب الي أبي اجيبه في ال DGV جاي من أكثر من تيبل ، و عندي Inner Join.
    هذا وين أقدر أسويه عقب ؟
     


  14. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    اممم ليش تخزنهم في أكثر من جدول؟
    أنا اللي لاحظته في البرنامج ان كل المعلومات تخص نفس الـ Row
    مثلا: اسم المراجع >> الحالة >> التشخيص >> التاريخ ... الخ، نوعية الداتا انها كلها تكون في جدول واحد (نفس الصف)
    اذا خليتها في نفس الجدول راح يكون الكود أقصر والperformance تبع البرنامج أفضل والـ search أسرع وحتى الـ insert بيكون أسهل في كتابة الكود

    الأفضل اربط كل DGV بجدول واحد الا اذا كان فيه شي يمنعك في البرنامج خبرني عنه =)
     


  15. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    الداتابيس كبيرة ، أنا منجبر أخزن كل شي في تيبل غير لان عندي (حالات ، مرضى ، دكاترة ، مستشفيات ، أسعار ، ... إلخ )
    صعب جداً (إذا ما كان مستحيل) أتحكم فيهم كلهم في تيبل وحده ، على سبيل المثال :

    المريض شلون أجيب معلوماته ، أخلي ال ID في التيبل الرئيسية ، و بعدها أروح التيبل الي فيها المرضى و منها أعرض معلوماته كلها.
    في حل أنسب ؟ للأمانة البرنامج كبير و معقد و انا توني في ال Home Page
    قدرت أجمعهم في تيبل وحده مثلما أبي بس بالطريقة الي سويتها ، الطريقة الي انت خبرتني عنها ماعرف شلون أسوي ال Inner join حق التيبلز الي أحتاجهم
     


  16. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    فيه طريقة تربطهم بس ما راح اقدر افيدك فيها لأنك تستخدم الـ Oracle اللي انا ما استخدمته من قبل ولا عندي عنه أي فكرة (أستخدم Access و SQL)
    مثلا في الـ Access تقدر تسوي link بين أي جدول بس في الـ Oracle بتحتاج تبحث عن هالنقطة والمفروض متوفرة بسهولة لأن صاير شي common ورئيسي

    فهمت عليك بخصوص الداتا، أنا كان قصدي كل DGV يكون مربوط بجدول واحد، مثلا عندك قسم فيه معلومات المريض:
    الاسم - الرقم الشخصي - تاريخ التسجيل - تاريخ آخر زيارة - ... الخ
    هذلين كلهم تحطهم في جدول واحد وفي DGV واحد وفي صفحة وحدة في البرنامج

    الحين مثلا تحتاج تشوف (سجل زيارات المريض)، طبعا هذا بتحطه في DGV منفصل وتخليه في جدول منفصل
    ولو احتجت (سجل الأدوية) اللي اخذها المريض، بعد بتحتاج جدول منفصل و DGV منفصل وهكذا

    بمعنى تخلي كلشي في جدول بروحه ولكن في النهاية كل صفحة أو DGV في البرنامج بيكون مربوط بجدول واحد
    أنا سويت من قبل سيستم مستشفى بناء على هالكونسبت .. ببحث عن البرنامج اذا حصلته بخلي لك صور منه
     
    آخر تعديل: ‏13 يونيو 2017


  17. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    راح أبحث عن هالشي ، واذا وصلت لشي جديد راح أخبرك
     


  18. UOB-BH

    UOB-BH ll SADIQ6210 ll طاقم الإدارة

    التسجيل:
    ‏30 مايو 2007
    المشاركات:
    11,115
    الإعجابات المتلقاة:
    13,804
    نقاط الجوائز:
    1,113
    الدفعة الدراسية:
    2005
    الكلية:
    كلية الهندسة
    التخصص:
    Mechanical Engineer
    Fine
    :icon30:

    في مرحلة رسم البرنامج، حاول جديا تقسم البرنامج بحيث تخلي كل DGV مع جدول واحد
    واجد راح ترتاح بعدين وبتخلص لبروجكت أسرع من المتوقع وبتحس البرنامج سريع في البحث، في لحظات بتحصل النتائج

    الـ search واحد لكن الـ DGV منفصل
    مثلا تدخل البرنامج تكتب الرقم الشخص وتضغط Search راح يبحث في كل الأقسام دفعه وحدة، تقدر تروح صفحة (معلومات المريض) أو (سجل الزيارات) أو (التشخيص) أو (الأودية) أو (الاجازات) أو ...... وبتحصل كل المعلومات، يعني بس تضغط search أول ما تبحث عن الرقم الشخصي (مرة وحدة)، بعدين مجرد تتنقل بين الأقسام عشان تشوف اللي تحتاجه وكلشي بيكون معروض وجاهز

    في النهاية البرنامج مقسم وسهل التصفح، الداتابيس مقسمة لعدة جداول لكن في نفس الوقت كل DGV مربوط بجدول واحد فقط
    Just think about it :smile:
     


  19. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    على فكرة صادق ، ترى بس ال Home Page راح تكون بهالطريقة لاني محتاج أعرض لستة المرضى الي جوا أمس على سبيل المثال
    و حالاتهم و الدكاترة الي يراجعون وياهم و أساميهم ( هذا كله ما بصير الا بهالطريقة )
    بس في الأشياء الثانية الي تختص بالتحاليل كل تيبل بروحها مثلما قلت و واجد بتكون سهلة ( فقط ال Home Page لان الي بتطلعه لي هو عبارة عن summary )

    عموما ، راح أبتدي أبحث عن الجوين ونوافيكم بالجديد ، شكراً جزيلاً :shiny:
     


    أعجب بهذه المشاركة UOB-BH
  20. S p y e r

    S p y e r ll Super Moderator ll طاقم الإدارة

    التسجيل:
    ‏25 فبراير 2010
    المشاركات:
    7,585
    الإعجابات المتلقاة:
    3,712
    نقاط الجوائز:
    508
    الدفعة الدراسية:
    2009
    الكلية:
    كلية تقنية المعلومات
    التخصص:
    Information Systems
    إمممممممم

    Untitled.png

    الفنكشن شغالة طبيعي ، لكن للأسف بدون ما أسوي Inner Join
    تعبت و أنا أدور طريقة ، حصلت طريقة بحيث ان أسوي Query داخل ال DataSet Designer وبعدين ال Query تطلع في ال Data Source List وأسويها Drag لل DGV
    بس لما أسوي الكويري ، ما تطلع فالداتا سورس ! دخت وانا أحاول ، لما كنت أسوي execute query هالإيرور كان يطلع لي :

    Untitled1.png


    إنزين هذي الكويري :

    Untitled2.png

    وين المشكلة فيها ؟ للعلم لما أسويها Execute ال Records الي ابيهم يطلعون كامل بدون مشاكل بس بعد ما أسوي للإيرور Ignore.
    ليش ما تطلع فالداتا سورس عقب ما أسويها ؟ تطلع بس في DataSet Designer :

    Untitled.png


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


مشاركة هذه الصفحة