• 0
bushra00

كود للبحث في قريد فيو وتحديد عنصر وانتقال الى مايحتويه

سؤال

سؤال مهم في الفيجوال بيسك دوت نت

مثلا لدي جدول الاصناف category

category-id , category-name

وجدول items

item-id,item-name,item-price,item-descripition,category-id

والقاعده أكسس ..

اريد ان اخصص فورم للبحث .. مثلا تم البحث عن اسم الصنف ولنفرض مواد غذائيه

يظهر لي داتا قريد فيو فيها المواد الغدائيه

أجبان

لحوم

فواكه وخضروات

عن النقر على أجبان .. يظهر لي داتا قريد فيو فيه البيانات التاليه

جبنه المراعي

جبنه بوك

جبنه نادك

جبنه كرافت

جبنه كيري

جبن بالكيلو

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

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

شاكره لكم .. واتمنى مساااعدتكم لي عاجلاااااااااااااااا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

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

يعني لاحظي :

category-id هو مربط الفرس ، لأنه حقل في جدولين ، في الجدول الأول سيكون بلاشك Primary Key .

بالنسبة لكثرة الداتا قريد فلا أنصح بها ، أفضل أن يكون الخرج النهائي في داتاجريدفيو ، أما (( ألبان لحوم أجبان .... الخ ) فأفضل إظهارها في LIstbox أو Listview أو ComboBox وأوفضل ComboBox حتى نوفر مساحة العمل ، ويتم ربط هذا الكومبو مباشرة في جدول الأصناف .. وبمجرد اختيار الصنف نقوم بالاستعلام في جدول الوحدات من خلال category-id الخاص بقيمة الكومبو ونعرض الناتج في جريدفيو ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خير اخي ..

لكن انا مثالي ليس هذا مثال مصغر عن الفكره التي اريدها

عباره عن جدول لشركات طالبه موظفينclient id

-job-field

job-id

وجدول اخر يحتوي طلبات المتقدمين للوظيفه client id

requierd-field

الحقل job-field- و requierd field

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

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

وفورم لادخال بيانات الاشخاص المتقدمين للوظيفه

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

يبحث تلقائيا عن الشركات المتقدمه التي تحمل نفس المجال .. ويتم ربطهم

هذي فكرتي :( هل هي صعبه ؟!! اتمنى مساعدتكم جزاكم الله خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لنفرض أنك اخترتي من الكومبوبوكس (( التقنية والمعلومات )) .

عندها نقوم بعمل استعلام :

Select * from CompanyTable where JobField = '" & comboBox.text & "'

ونقوم بربط العناصر بمصدر البيانات الذي يحمل هذا الاستعلام ..

أتمنى أن يكون هذا طلبك ، وأرجو إرفاق المشروع وإيضاح المطلوب بالصور في حال لم يكن هذا طلبك

بالتوفيق ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ذي صوره فورم البحث وهذا الكووود ..

يوجد لدي فورم لادرجال معلومات شركه تتطلب موظفين .. ويوجد في الجدول jobs الحقول التاليه job-id - Required field -client-id

وباقي الحقول معلومات عامه عن الشركه هواتف الاتصال ومميزات الوظيفه وهكذا

ويوجد لدي فورم آخر لادراج معلومات اشخاص يتقدموا بطلب وظيفه .. ويوجد في جدولهم Required field -client-id

Required field حقل يحمل نفس البيانات اريد البحث ع اساسه في الجدول الثاني client بحيث اذا تساوت القيمتين تظهر بيانات الشركه في قريد فيوو اخر

اظن المطلوب استعلاام يجيب المعلومات من الجدولين ع شرط ان الحقل متساوي بالجدوولين

يعني انا حضيف قريد فيو آخر تحت اللي بالصوره هنا ..

اذا ظهرت معلومات طلبات التوظيف عن النقر ع زر بحث عن وظيفه مناسبه .. يظهر لي في القريد فيو الاخر الشركات التي تتطلب موظفين

واختار قيمه من القريد فيو ويوجد لدي زر ربط او اختيار الوظيفه حيث يربط الجدولين عند اختيار الوظيفه المناسبه من القريد فيو رقم 2

واذا تم الطلب .. يوجد لدي شيك بوكس enabled= false

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

هذا اللذي اريد عمله .. تمام سير فكرتي او لا ؟!

b5b2363b.jpg


Public Class Form3
Dim sqlstr As String


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

Try
conn()
ds.Clear()
If TextBox1.Text = Trim("") Then
MsgBox("من فضلك أدخل كلمة البحث", MsgBoxStyle.OkOnly, " شؤؤن التوظيف")
Exit Sub
End If
If RadioButton4.Checked = True Then
ExactSearch()
ElseIf RadioButton5.Checked = True Then
GeneralSearch()
Else
MsgBox("اختر نوع البحث", MsgBoxStyle.OkOnly, "human resources")
Exit Sub
End If

DataGridView1.Visible = True
'تعريف متغير لمعالجة البيانات وتمريرعبارة الإستعلام وكائن الإتصال.
Dim DataAdapter1 As New OleDb.OleDbDataAdapter(SQLstr, frmconn)
DataAdapter1.Fill(ds, "client")
frmconn.Close()
'جعل مصدر الداتا غريد من الداتا سيت
DataGridView1.DataSource = ds

DataGridView1.DataMember = "client"
Catch err As System.Exception
MsgBox(err.Message, MsgBoxStyle.Exclamation, "human resources")
End Try

DataGridView1.Columns(0).HeaderText = "تاريخ الطلب"
DataGridView1.Columns(1).HeaderText = "سنوات الخبره"
DataGridView1.Columns(2).HeaderText = "مجال الوظيفه المطلوبه"
DataGridView1.Columns(3).HeaderText = "التخصص"
DataGridView1.Columns(4).HeaderText = "الشهاده"
DataGridView1.Columns(5).HeaderText = "الجنسيه"
DataGridView1.Columns(6).HeaderText = "الجنس"
DataGridView1.Columns(7).HeaderText = "هاتف "
DataGridView1.Columns(8).HeaderText = "المدينه "
DataGridView1.Columns(9).HeaderText = "الدوله "
DataGridView1.Columns(10).HeaderText = "ايميل المتقدم "
DataGridView1.Columns(11).HeaderText = "إسم المتقدم "
DataGridView1.Columns(12).HeaderText = "رقم الطلب "



If Me.BindingContext(ds, "client").Count = 0 Then
MsgBox(" لاتوجد نتائج حاول مرة اخرى")
Exit Sub
End If

End Sub


Public Sub GeneralSearch()
If RadioButton1.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-name= '" & TextBox1.Text & "'"
ElseIf RadioButton2.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-nationality = '" & TextBox1.Text & "'"
ElseIf RadioButton3.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-tele= '" & TextBox1.Text & "'"
ElseIf RadioButton4.Checked = True Then
sqlstr = "SELECT * FROM client WHERE Required-field= '" & TextBox1.Text & "'"

End If
End Sub
Public Sub ExactSearch()
If RadioButton1.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-name LIKE '%" & TextBox1.Text & "%'"
ElseIf RadioButton2.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-nationality LIKE '%" & TextBox1.Text & "%'"
ElseIf RadioButton3.Checked = True Then
sqlstr = "SELECT * FROM client WHERE client-tele LIKE '%" & TextBox1.Text & "%'"
ElseIf RadioButton4.Checked = True Then
sqlstr = "SELECT * FROM client WHERE Required-field LIKE '%" & TextBox1.Text & "%'"
End If
End Sub


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

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Try
If ds.HasChanges Then
Dim dt As DataTable = ds.Tables("client").GetChanges(DataRowState.Modified)
If dt.Rows.Count > 0 Then
Dim update As New OleDb.OleDbCommand
update.Connection = frmconn
update.CommandType = CommandType.Text
conn()
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
update.CommandText = "UPDATE client SET client-name= '" & Trim(dt.DefaultView.Item(i).Item("client-name")) & "' ,client-email = '" & Trim(dt.DefaultView.Item(i).Item("client-email")) & "' , country = '" & Trim(dt.DefaultView.Item(i).Item("country")) & "' , city = " & Trim(dt.DefaultView.Item(i).Item("city")) & ", client-tele = '" & Trim(dt.DefaultView.Item(i).Item("client-tele")) & "' , client-nationality= '" & Trim(dt.DefaultView.Item(i).Item("client-nationality")) & "', client-Certification= '" & Trim(dt.DefaultView.Item(i).Item("client-Certification")) & "',client-Specialization = '" & Trim(dt.DefaultView.Item(i).Item("client-Specialization")) & "' ,,Required-field = '" & Trim(dt.DefaultView.Item(i).Item("Required-field")) & "' ,,year-experince = '" & Trim(dt.DefaultView.Item(i).Item("year-experince")) & "' ,client-date = '" & Trim(dt.DefaultView.Item(i).Item("client-date")) & "' WHERE client-id =" & dt.DefaultView.Item(i).Item("client-id") & ""
update.ExecuteNonQuery()
Next
frmconn.Close()
MsgBox("تمت عملية التعديل في قاعدة البيانات بنجاح")
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Try
If MsgBox("هل تريد حذف السجل الحالي", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Catch err As System.Exception
'عرض رسالة بالخطأ
MsgBox(err.Message, MsgBoxStyle.Exclamation, "human resources")
End Try
Try
Dim delet As New OleDb.OleDbCommand
delet.Connection = frmconn
delet.CommandType = CommandType.Text
'الحذف بشرط ان رقم الطلب في السجل الحالي = رقم الطلب الموجود في العمود الثالث في قاعدة البيانات حيث يبدأ الترتيب من (0)
delet.CommandText = "DELETE FROM client WHERE client-id =" & Trim(DataGridView1.CurrentRow.Cells(12).Value) & ""
conn()
delet.ExecuteNonQuery()
frmconn.Close()
ds.Clear()
employee()
MsgBox("تمت عملية الحذف في قاعدة البيانات بنجاح")

Catch err As System.Exception
عرض رسالة بالخطأ
MsgBox(err.Message, MsgBoxStyle.Exclamation, "human resources")

End Try

End Sub
End Class

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أختي الآن تقريباً الفكرة اتضحت ,

اسمحيلي بسؤال أخيرا حتى أتأكد إن الفكرة وصلت :

علشان أفهم الموضوع خليني أبسط الجداول ونركز على الفكرة الرئيسية ، عندي جدولين : جدول المتقدمين ، وجدول الشركات الي تبحث عن هالمتقدمين : صح ؟

بجدول المتقدمين وبجدول الشركات عندنا حقل يتشابه اسمه ( الوظيفة المطلوبة ) .. صح ؟

وعندي فورم يعرض لي الشركات الي تبحث عن موظفين فيها التالي :

اسم الشركة ( تكست بوكس ) ، الوظائف المطلوبة ( ليست بوكس أو كومبو أو ليست فيو ) ومعلومات أخرى عن الشركة ....

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

أتمنى تصححين لي إذا كان ما ذكرته غير صحيح ...

مسألة الربط غير واضحة ، إيش تقصدين بالربط ، هل هو عرض المتقدمين للوظيفة فقط كما ذكرت أم غير ذلك ...

المعذرة على الإطالة بس علشان تتضح الصورة ....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أختي الآن تقريباً الفكرة اتضحت ,

اسمحيلي بسؤال أخيرا حتى أتأكد إن الفكرة وصلت :

علشان أفهم الموضوع خليني أبسط الجداول ونركز على الفكرة الرئيسية ، عندي جدولين : جدول المتقدمين ، وجدول الشركات الي تبحث عن هالمتقدمين : صح ؟

صحيح

بجدول المتقدمين وبجدول الشركات عندنا حقل يتشابه اسمه ( الوظيفة المطلوبة ) .. صح ؟

صحيح يتشابه بمحتوى البيانات ولكن عدلت اسم احداهم في الجدول .. لان زر احذف في احد الفورمات لا يعمل والسبب تشابه الحقلين

وعندي فورم يعرض لي الشركات الي تبحث عن موظفين فيها التالي :

اسم الشركة ( تكست بوكس ) ، الوظائف المطلوبة ( ليست بوكس أو كومبو أو ليست فيو ) ومعلومات أخرى عن الشركة ....

صحيح والوظائف اعرضها في كومبو بوكس

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

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

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

أتمنى تصححين لي إذا كان ما ذكرته غير صحيح ...

جزاك الله خيرا

مسألة الربط غير واضحة ، إيش تقصدين بالربط ، هل هو عرض المتقدمين للوظيفة فقط كما ذكرت أم غير ذلك ...

المعذرة على الإطالة بس علشان تتضح الصورة ....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .