منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو (/showthread.php?tid=49839)

الصفحات: 1 2


ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - alachk - 07-08-24

السلام عليكم ورحمه الله وبركاته
ارجوا المساعدة في كود يبحث لي البيانات المكررة في عامود دخل DataGridView ويضعها داخل DataGridView اخري بكامل البيانات
مثال للتوضيح
عندي DataGridView تحتوي على الاسم والعمر والعنوان
اريد كود يبحث في العمر ويعرض لي كل الاسماء التى يكون اعمارهم واحد ويعرضها في DataGridView اخري
وشكرا لكم


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - تركي الحلواني - 08-08-24

جرب هذا 

PHP كود :
Public Class Form1
    
' زر البحث
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' 
العمر الذي تريد البحث عنه
        Dim searchAge 
As Integer Integer.Parse(TextBox1.Text)

 
       ' إنشاء DataTable جديد لعرض النتائج
        Dim resultsTable As New DataTable()
        resultsTable.Columns.Add("Name")
        resultsTable.Columns.Add("Age")
        resultsTable.Columns.Add("Address")

        ' 
البحث في DataGridView1
        For Each row 
As DataGridViewRow In DataGridView1.Rows
            If Not row
.IsNewRow Then
                Dim age 
As Integer Integer.Parse(row.Cells("Age").Value.ToString())
 
               If age searchAge Then
                    resultsTable
.Rows.Add(row.Cells("Name").Valueagerow.Cells("Address").Value)
 
               End If
 
           End If
 
       Next

        
' عرض النتائج في DataGridView2
        DataGridView2.DataSource = resultsTable
    End Sub
End Class 



RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - alachk - 08-08-24

شكرا اخوي تركي نفس المطلوب بس لو ممكن ابغي يظهر لي العمر المكرر بدون ما ادخل العمر في التكتس بوكس مع الشكر والتقدير لكم


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - justforit - 08-08-24

ابحث بكود استعلام من نفس مصدر البيانات هذا اسهل شيء.
select * from table where age=30


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - alachk - 08-08-24

(08-08-24, 07:52 PM)justforit كتب : ابحث بكود استعلام من نفس مصدر البيانات هذا اسهل شيء.
select * from table where age=30

شكرا على مرورك الكريم بس انا ما ابغي ابحث عن قيمة يحددها المستخدم
ما اريده هو عندما يقوم المستخدم الضغط علي زر الاعمار المكررة يظهر لي كل بيانات الاشخاص التي اعمارهم واحد وشكرا


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - justforit - 09-08-24

(08-08-24, 10:16 PM)alachk كتب :
(08-08-24, 07:52 PM)justforit كتب : ابحث بكود استعلام من نفس مصدر البيانات هذا اسهل شيء.
select * from table where age=30

شكرا على مرورك الكريم بس انا ما ابغي ابحث عن قيمة يحددها المستخدم
ما اريده هو عندما يقوم المستخدم الضغط علي زر الاعمار المكررة يظهر لي كل بيانات الاشخاص التي اعمارهم واحد وشكرا

عندك مثال تعمل عليه الان؟
لو لديك الافضل ترفع المثال او على الاقل ملف القاعدة لتجهيز مثال.
لافترض الفكرة هكذا:
احمد=20
سعد=30
علي 35
حسب الفكرة لن يتم جلب ايا من هؤلاء لان اعمارهم مختلفة......هل هذا المطلوب؟
بينما لو البيانات هكذا:
احمد=25
سعد=25
علي=35
سيتم جلب احمد و سعد لكون عمرهم واحد
هل هذه هي الفكرة ؟

هذا كلاس الفورم عدل عليه ليناسب ماعندك:
PHP كود :
Public Class Form1
    Dim str 
As String "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
 
   Dim con As New OleDb.OleDbConnection(str)
 
   Dim sql As String "select * from tb"
 
   Dim da As New OleDb.OleDbDataAdapter(sqlcon)
 
   Dim dt As New DataTable
    Sub gd
()
 
       dt.Clear()
 
       da.Fill(dt)
 
       dg.DataSource dt
    End Sub
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        For Each row 
As DataGridViewRow In dg.Rows
            If dt
.Select("count(age)>1 and age=" Val(row.Cells("age").Value)).Count 1 Then
                dg2
.Rows.Add(row.Cells(0).Valuerow.Cells(1).Valuerow.Cells(2).Value)
 
           End If
 
       Next
    End Sub
End 
Class 



RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - alachk - 09-08-24

(09-08-24, 12:44 AM)justforit كتب :
(08-08-24, 10:16 PM)alachk كتب :
(08-08-24, 07:52 PM)justforit كتب : ابحث بكود استعلام من نفس مصدر البيانات هذا اسهل شيء.
select * from table where age=30

شكرا على مرورك الكريم بس انا ما ابغي ابحث عن قيمة يحددها المستخدم
ما اريده هو عندما يقوم المستخدم الضغط علي زر الاعمار المكررة يظهر لي كل بيانات الاشخاص التي اعمارهم واحد وشكرا

عندك مثال تعمل عليه الان؟
لو لديك الافضل ترفع المثال او على الاقل ملف القاعدة لتجهيز مثال.
لافترض الفكرة هكذا:
احمد=20
سعد=30
علي 35
حسب الفكرة لن يتم جلب ايا من هؤلاء لان اعمارهم مختلفة......هل هذا المطلوب؟
بينما لو البيانات هكذا:
احمد=25
سعد=25
علي=35
سيتم جلب احمد و سعد لكون عمرهم واحد
هل هذه هي الفكرة ؟

هذا كلاس الفورم عدل عليه ليناسب ماعندك:
PHP كود :
Public Class Form1
    Dim str 
As String "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
 
   Dim con As New OleDb.OleDbConnection(str)
 
   Dim sql As String "select * from tb"
 
   Dim da As New OleDb.OleDbDataAdapter(sqlcon)
 
   Dim dt As New DataTable
    Sub gd
()
 
       dt.Clear()
 
       da.Fill(dt)
 
       dg.DataSource dt
    End Sub
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        For Each row 
As DataGridViewRow In dg.Rows
            If dt
.Select("count(age)>1 and age=" Val(row.Cells("age").Value)).Count 1 Then
                dg2
.Rows.Add(row.Cells(0).Valuerow.Cells(1).Valuerow.Cells(2).Value)
 
           End If
 
       Next
    End Sub
End 
Class 

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


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - justforit - 09-08-24

عدلت على مشاركتي السابقة هل اطلعت عليها؟


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - alachk - 10-08-24

(09-08-24, 07:08 PM)justforit كتب : عدلت على مشاركتي السابقة هل اطلعت عليها؟

نعم اطلعت عليها كود شغال تمام وشكرا لك ما قصرت الله يجعلها في ميزان حسنات يارب
بس عندي ملاحظة عندما طبقت الكود على عامود يحتوي خلايا في ارقام وبعض الخلايا تحتوي على نص تظهر لي رسالة خطاء ارفقة صورة الخطاء
هل ممكن تعديل الكود بحث يبحث عن الارقام المتكررة دون النظر في الحلايا التي تحتوي على نص


RE: ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو - Zuhare - 10-08-24

جرب تعدل هذا السطر
PHP كود :
           If dt.Select("count(age)>1 and age like '" row.Cells("age").Value.ToString "'").Count 1 Then