الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بحث متعدد في الداتا قريد فيو

بدأه قصة شموخ في 1 مارس 2012 · 14 رد · 2,773 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني شحالكم ؟

عندي استفسار ما لقيت له حل لا بالنت ولا بالمنتدى واطلب مساعدتكم فيه..

عندي قاعدة بيانات أكسس ،

وعندي فورم يحتوي على تكست بوكس وبوتون بحث في قاعدة البيانات و داتا قريد فيو ،

انا ادخل رقم الشخص في التكست بوكس واضغط بحث فتطلع لي بيانات الشخص في الداتا قريد فيو

لكن الفكرة اللي في بالي وابغي انفذها اني اسوي اكثر عن بحث وكلهم يطلعون في نفس الجدول ،

يعني :

أول مره أدخل رقم ( 1 ) في التكست بوكس ولما اضغط بحث تطلع بيانات الشخص هذا في اول سطر في الجدول(الداتا قريد فيو)

بعدين امسح رقم ( 1 ) وادخل رقم ( 2 ) ولما اسوي بحث لازم تطلع البيانات في السطر الثاني من الجدول بدون لا تنحذف بيانات رقم ( 1 ) من الجدول

فيكون جي عندي في الجدول سطرين السطر الاول لبيانات الشخص رقم ( 1 ) والسطر الثاني لبيانات الشخص رقم ( 2 ) وجي تتكرر العملية يعني اني اضيف ثلاثة واربعة وممكن عشر اشخاص في الجدول بدون لا افقد معلومات اي شخص

وكل عملية البحث تستوي في نفس التكتست بوكس ونفس الزر

في صورة توضيحية للمثال المقصود وأتمنى أكون وفيت بالشرح =)

أتمنى تساعدوني للضرورة القصوى ولكم كل الشكر

post-251603-095148500 1330628443_thumb.p

post-251603-033364300 1330628453_thumb.p

المرفقات
مثال.PNGمثال2.PNG

تم تعديل هذه المشاركة بواسطة قصة شموخ في 1 مارس 2012 في 22:04

#2

السلام عليكم

ممكن عمل جدول temp واقصد جدول اخر تتم اضافة ناتج الاستعلام فية من الجدول الرئيسي

ومن ثم ربط الجدول temp مع datagridview

ونقوم بوضع جملة delete في form-load لحذف محتويات temp

#3

اذا كنت تستخدم TableAdapter غير خاصية ClearBeforeFill =False

#4

*

AHMAD KALIL كتب:

السلام عليكم

ممكن عمل جدول temp واقصد جدول اخر تتم اضافة ناتج الاستعلام فية من الجدول الرئيسي

ومن ثم ربط الجدول temp مع datagridview

ونقوم بوضع جملة delete في form-load لحذف محتويات temp

وعليكم السلم ورحمة الله وبركاته

أخوي مشكور على ردك بس ممكن توضح لي بشكل تفصيلي أكثر لأني فهمت الفكرة بس ما اعرف كيف أنفذها !

وشكراً

*

KARIMSOFT كتب:

اذا كنت تستخدم TableAdapter غير خاصية ClearBeforeFill =False

أنا ما استخدم الـ TableAdapter

وشكراً

تم تعديل هذه المشاركة بواسطة قصة شموخ في 4 مارس 2012 في 16:24

#5

السلام عليكم

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

الجدول tb1 سنضيف اليه البيانات من جدول tb2 وبعدها نفذ الكود الخاص بك للربط بين tb1 وال datagridview

Dim cm1 As New SqlCommand
        cm1.Connection = cnn
        cm1.CommandType = CommandType.Text

        cm1.CommandText = ("Insert into tb1 (username,password,id) (select username,password,id from tb2 where id = '" & TextBox4.Text & "')")
        cnn.Open()
        cm1.ExecuteNonQuery()
        cnn.Close()

انا استخدم sqlserver يمكن تحويل الى اكسس OleDb

#6

أخوي شكرا على الكود ،

لكن الظاهر إني غلطت بالشرح شويَ . .

أنا بكلمة جدول ما أقصد جدول في الداتا بيس /

كلمة جدول كنت اقصد فيها داتا قريد فيو بس بالسرعه كتبت جدول فيمكن تم فهم سؤالي غلط

وشكراً

.

.

[ . .

انا ادخل رقم الشخص في التكست بوكس واضغط بحث فتطلع لي بيانات الشخص في الداتا قريد فيو

لكن الفكرة اللي في بالي وابغي انفذها اني اسوي اكثر عن بحث وكلهم يطلعون في نفس الداتا قريد فيو ،

يعني :

أول مره أدخل رقم ( 1 ) في التكست بوكس ولما اضغط بحث تطلع بيانات الشخص هذا في اول سطر في الداتا قريد فيو

بعدين امسح رقم ( 1 ) وادخل رقم ( 2 ) ولما اسوي بحث لازم تطلع البيانات في السطر الثاني من الداتا قريد فيو بدون لا تنحذف بيانات رقم ( 1 ) من الداتا قريد فيو

فيكون جي عندي في الداتا قريد فيو سطرين السطر الاول لبيانات الشخص رقم ( 1 ) والسطر الثاني لبيانات الشخص رقم ( 2 ) وجي تتكرر العملية يعني اني اضيف ثلاثة واربعة وممكن عشر اشخاص في الداتا قريد فيو بدون لا افقد معلومات اي شخص

. . ]

غيرت كلمة جدولَ وأتمنى يكون شرحي وضح لكم أكثر . . وان شاء الله الصور توضح والسموحه

تم تعديل هذه المشاركة بواسطة قصة شموخ في 6 مارس 2012 في 17:05

#7

السلام عليكم

نعم الجواب كان لاضافة البيانات الى datagridview ولكن قبل الاضافة

اجريت عملية نقل البيانات المستعلم عنها الى جدول اخر في قاعدة البياتات

من خلال الكود السابق وهو جدول مؤقت

ساوضح اكثر الجدول الرئيسي الذي تتعامل معه والذي فيه بيانات العمل A

والذي نحاول استخراج المعلومات منه ثابت . تقوم بعمل جدول في قاعدة

بيانات اكسس واسمه B بنفس حقول الجدول A لانه في بعض الحالات نحتاج

الى جدول مؤقت للخزن

بعد اضافة رقم العملية في Text والضغط على زر بحث نضع الكود السابق

والذي ينقل البانات من جدول A الى جدول B

ومن ثم جملة استعلام عن كل محتويات الجدول B

Dim cm1 As New SqlCommand
        Dim db1 As SqlClient.SqlDataAdapter
        Dim ds As New DataSet
        cm1.Connection = cnn
        cm1.CommandType = CommandType.Text

        cm1.CommandText = ("Insert into tb1 (username,password,id) (select username,password,id from tb2 where id = '" & TextBox4.Text & "')")
        cnn.Open()
        cm1.ExecuteNonQuery()
        cnn.Close()

        ' Read Data From New Table (tb1)
        db1 = New SqlClient.SqlDataAdapter("select * from tb1", cnn)
        cnn.Open()
        ds = New DataSet
        db1.Fill(ds, "tb1")
        cnn.Close()
        DataGridView1.DataSource = ds.Tables("tb1")

فكرة الجداول المؤقتة مفيدة خصوصا في التقارير

حيث تحتاج في عمليات الاستعلام الكبيرة واقصد

معالجة للبيانات من اكثر من جدول الناتج يجمع في

جدول اخر والتقرير يستند الى هذا الجدول

ولاتنسى البرمجة افكار

#8

آممم أخوي شكرا على التوضيحَ

أنا جربت الكود بس ما ضبطَ يمكن لاني استخدم الوضع المنفصل

يطلع لي خطأ في جملة (الإنسرت)

        Savecommand.CommandText = "INSERT INTO T1(ID, M_Name, Pass, Age, BOD, Gender, Mobile) (select ID, M_Name, Pass, Age, BOD, Gender, Mobile from Tmuna where ID = ('" & TextBox1.Text & "') "

لو في حد يعرفَ يعدل الكود يخبرني وين الخلل وشكراً

#9

لا إله إلا الله . . محمد رسول الله

#10

السلام عليكم

ماهي datatype للحقول

ثانيا اذا امكن ارفاق الكود كامل

#11

جميعها تكست =)

وهذا الكود المستخدم في البحث . .

* كود عملية البحث . . (موجود في الزر )

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button1.Click

 Static m As Integer = 0

        If Me.TextBox1.Text = "" Then Exit Sub

        SQLstr = "SELECT * FROM Tmuna WHERE ID = '" & TextBox1.Text & "'"

        newConnection.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, newConnection)
        DataAdapter1.Fill(DataSet1, "Tmuna")
        newConnection.Close()

        DataTable1DataGridView.DataSource = DataSet1
        DataTable1DataGridView.DataMember = "Tmuna"


        Me.Button1.Enabled = False

        If Me.BindingContext(DataSet1, "Tmuna").Count = 0 Then
            MsgBox("الرجاء التأكد من الرقم ")
            Exit Sub
        End If

    End Sub

* كود المسح . . (موجود في التكست جينج)

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

        Me.Button1.Enabled = True
        SQLstr = ""
        DataSet1.Clear()

    End Sub
#12

السلام عليكم

اين كود جملة Insert التي فيها الخطأ

#13

. . أعتذر فقد وضعت الكود السابق الذي كنت أجربه ،

هذا الكود الحالي . .

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button1.Click

        If Me.TextBox1.Text = "" Then Exit Sub


        Dim cm1 As New OleDb.OleDbCommand(SQLstr, newConnection)
        Dim db1 As New OleDbDataAdapter(SQLstr, newConnection)
        Dim ds As New DataSet
        cm1.Connection = newConnection
        cm1.CommandType = CommandType.Text

        cm1.CommandText = ("Insert into T1 (ID,M_Name,Age,BOD,Gender,Mobile) (select ID,M_Name,Age,BOD,Gender,Mobile from Tmuna where ID = '" & TextBox1.Text & "')")
        newConnection.Open()
        cm1.ExecuteNonQuery()
        newConnection.Close()

        ' Read Data From New Table (tb1) 
        db1 = New OleDbDataAdapter("select * from T1", newConnection)
        newConnection.Open()
        ds = New DataSet
        db1.Fill(ds, "T1")
        newConnection.Close()
        DataTable1DataGridView.DataSource = ds.Tables("T1")


    End Sub

تم تعديل هذه المشاركة بواسطة قصة شموخ في 25 مارس 2012 في 16:30

#14

السلام عليكم

الكود صحيح

تاكد من datatype للحقول في كلا الجدولين حيث لايمكن نقل حقل char الى integer

#15

أخي تأكدت من الداتا تايب جميعها من نوع (تكست) . .

مواضيع مشابهة