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

نسخة كاملة : مشكله بسيطه عند القيام بالبحث
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم ورحمه الله وبركاته

اخواني الكرام

انا عامل نموذج للبحث ويكون البحث عن طريق كود معين مثلا a1

ولكن ممكنك ان يتكرر هذا الكود لاكثر من قراءه

انا اريد ان اعمل بحث عن هذا الكود طبعا سوف يظهر كل النتائج الى a1
اريد ان اعمل تعديل على سجل واحد فقط لانه لما اعمل تعديل يقوم بالتعديل في كل السجلات التي تحمل نفس التسميه

صوره للتوضيح

تم إضافة الصورة المكبرة من قبل الإدارة . بالتوفيق Smile




طبعا مصمم على فيجول بييسك 2010 وقاعده بيانات Acsses

وهذا هو الكود

كود :
Imports System.Data
Imports JbsaPrintDataGridView
Imports System.Data.OleDb
Public Class FormRecodSearch
    Dim frm As New RecordMain
    Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source =" & Application.StartupPath & "\Database.mdb"
    Dim Conn As New OleDbConnection(ConStr)
    Dim DataSet1 As New DataSet
    Dim SQLstr As String
    Dim m As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Static m As Integer = 0
        If TextBox1.Text = Trim("") Then Exit Sub
        If RadioButton4.Checked = True Then
            ExactSearch()
        ElseIf RadioButton5.Checked = True Then
            GeneralSearch()
        End If
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "TheTable")
        Conn.Close()

        TextBox2.DataBindings.Add("Text", DataSet1, "TheTable.Code")
        TextBox3.DataBindings.Add("Text", DataSet1, "TheTable.Mall")
        TextBox4.DataBindings.Add("Text", DataSet1, "TheTable.Expiry_date_repairs")
        TextBox5.DataBindings.Add("Text", DataSet1, "TheTable.Repair_Cost")
        TextBox6.DataBindings.Add("Text", DataSet1, "TheTable.Description_repairs")

        DataGridView1.DataSource = DataSet1
        DataGridView1.DataMember = "TheTable"
        Button1.Enabled = False
        If Me.BindingContext(DataSet1, "TheTable").Count = 0 Then
            MsgBox("No Result, Please Try Again ")
            Exit Sub
        End If
        Button1.Enabled = True
    End Sub
    Public Sub ExactSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM TheTable WHERE Code = '" & TextBox1.Text & "'"
        End If
    End Sub
    Public Sub GeneralSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM TheTable WHERE Code LIKE '%" & TextBox1.Text & "%'"
        End If
    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        TextBox2.ReadOnly = False
        TextBox3.ReadOnly = False
        TextBox5.ReadOnly = False
        TextBox6.ReadOnly = False
        m = TextBox2.Text
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim SavInto As New OleDb.OleDbCommand
        Dim adapter2 As New OleDbDataAdapter(SQLstr, Conn)
        SavInto.Connection = Conn
        SavInto.CommandType = CommandType.Text
        SavInto.CommandText = "UPDATE TheTable SET Mall = '" & Trim(TextBox3.Text) & "' , Expiry_date_repairs = '" & Trim(TextBox4.Text) & "' , Repair_Cost= '" & Trim(TextBox5.Text) & "' , Description_repairs= '" & Trim(TextBox6.Text) & "' WHERE Code ='" & m & "'"
        Conn.Open()
        SavInto.ExecuteNonQuery()
        Conn.Close()
        Button4.Enabled = False
        Button5.Enabled = False
        Button3.Enabled = True

        TextBox2.ReadOnly = True
        TextBox3.ReadOnly = True
        TextBox4.ReadOnly = True
        TextBox5.ReadOnly = True
        TextBox6.ReadOnly = True


    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Button4.Enabled = False
        Button5.Enabled = False
        Button3.Enabled = True


        TextBox2.ReadOnly = False
        TextBox3.ReadOnly = False
        TextBox4.ReadOnly = True
        TextBox5.ReadOnly = True
        TextBox6.ReadOnly = True

    End Sub

    Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        TextBox2.DataBindings.Clear()
        TextBox3.DataBindings.Clear()
        TextBox4.DataBindings.Clear()
        TextBox5.DataBindings.Clear()
        TextBox6.DataBindings.Clear()

        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        
        Button1.Enabled = True
        SQLstr = ""
        DataSet1.Clear()
        Me.DataGridView1.DataSource = Nothing
    End Sub


اتمنى منكم مساعدتي
[COLOR="#800080"]السلام عليكم

تنبيه: يرجى التقيد بقوانين المنتدى وكتابة الاسئلة في الاقسام المخصصة لها والا سيتعرض الموضوع للحذف وتتلقى مخالفة لذلك ,وبارك الله فيكم

تم النقل الى قسم اسئلة وبرمجة قواعد البيانات[/COLOR]
للرفع للرفع
لابد ان تستعلم عن قيمة لاتتكرر مثل الترقيم التلقائي او المفتاح الاساسي غير هذين يتكرران.
اخي الكريم سعود شكرا لك

ولكن اليس هناك حل لكي ابحث عن قيمه مثل الكود المحدد مثلا a1 ويكون متكرر او يكون المفتاح الرئيسي مثلا ID ولك البحث يكون بشيء اخر لاني اريد ان اعمل history لهذا الكود بحيث اريد ان اعرف كل التغيرات التي حصلت عليه

اتمنى منك مساعدتي
لا اشكال.. لكن اتحدث عن مسالة تحديث سجل/صف معين لان بدون قيمة محددة سيقع التحديث على كل السجلات او على الاقل على سجلات تحمل نفس القيمة.
لو ترفع مثال صغير فيه البحث المذكور نعدل عليه ليكون الحل اسرع.
أخي الكريم سعود

تم رفع مثال على الفكره
المشروع لم يعمل بسبب المكون غير موجود عندي DevComponents
احاول تشغيله باي طريقة
للاسف الادوات المربوطة كثيرة ولما حذفتها وقعت بمشكلة ثانية .. ياليت مثال من غير مكونات اضافية
الصفحات : 1 2 3