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

نسخة كاملة : مشكلة كومبو بوكس في فيجوال بيسك دوت نت
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
باشتغل على فيجوال بيسك دوت نت 2010
عندي الاكسس جدول فيه اسماء البلاد وجدول فيه اسماء المدن ( parent amd child)
عمل كونكت على الاكسس والبرنامج بيجيب بيانات

عايزة اعمل 2كومبو بوكس
واحد اسماء البلاد والتاني يجيب المدن الخاصة بالبلد اللي اخترتها في الكومبو الاول

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

لنفرض ان اسم الجدول هو T1 ويحتوي على حقل البلد باسم TCountry وحقل المدينة باسم TCity

ولنفرض إيضا الكوبو1 حق البلد اسمه CobCountry والكوبو2 حق المدينة اسمه CobCity


نذهب للكود

أولا كود عرض البلد
PHP كود :
Dim DS1 As New DataSet
Dim DA1 
As New OleDb.OleDbDataAdapter("select TCountry from T1"con)
DA1.Fill(DS1"T1")
CobCountry.DataSource DS1.Tables("T1")
CobCountry.DisplayMember "TCountry" 
ثانيا كود عرض المدن هنا سنستخدم امر where في Select حتى نضمن عرض مدن البلد المحدده

PHP كود :
Dim DS2 As New DataSet
Dim DA2 
As New OleDb.OleDbDataAdapter("select TCity from T1 where TCountry=" CobCountry.Text ""con)
DA2.Fill(DS2"T1")
CobCity.DataSource DS2.Tables("T1")
CobCity.DisplayMember "TCity" 
بالتوفيق
شكرا جدا على سرعة الرد

بس انا عندي 2 جدول
الجدول الاول : جدول البلد وفيه رقم البلد واسم البلد
الجدول الثاني : جدول المدينة وفيه رقم البلد ورقم المدينة واسم المدينة
أنظر الشرح بعد التعديل

لنفرض ان اسم الجدول هو T1 ويحتوي على :
اسم البلد TCountry
رقم البلد TNum
Country

واسم جدول آخر T2 ويحتوي على :
اسم المدينة باسم TCity
رقم المدينة TNumCity
رقم البلد
TNumCountry

ولنفرض إيضا الكوبو1 حق البلد اسمه CobCountry والكوبو2 حق المدينة اسمه CobCity


نذهب للكود

أولا كود عرض البلد مثل ما كتب بالسابق
PHP كود :
Dim DS1 As New DataSet
Dim DA1 
As New OleDb.OleDbDataAdapter("select TCountry from T1"con)
DA1.Fill(DS1"T1")
CobCountry.DataSource DS1.Tables("T1")
CobCountry.DisplayMember "TCountry" 
ثانيا كود عرض المدن سوف نربطه بجدول البلد

PHP كود :
Dim DS2 As New DataSet
Dim DA2 
As New OleDb.OleDbDataAdapter("select T2.TCity from T1,T2 where T1.TCountry=" CobCountry.Text " and T1.TNumCountry=T2.TNumCountry"con)

DA2.Fill(DS2"T1")
CobCity.DataSource DS2.Tables("T1")
CobCity.DisplayMember "TCity" 

إللي ضفناه في الكود هو ان حدنا بدل جدول جدولين وصار كل ما تبي تنادي حقل في البدايه تحط اسم الجدول بعدين نقطه بعدين اسم الحقل
وضفنا جملة And في الشرط إي مع تحقيق شرط آخر وضفنا الشرط الأخر هو الأمر T1.TNumCountry=T2
.TNumCountry
يعني أربط الجدولين رقم الحقل الموجود في الجدول الأول مع رقم الحقل الموجود بالجدول الثاني

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

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





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

PHP كود :
Public Class Form1

    
'' Database:
   
''    Coutryidname
   
''    City:   idnameCountryId

    
Private conn As New OleDb.OleDbConnection("Provider = Microsoft.Jet.Oledb.4.0; Data Source = db1.mdb")

    Private 
Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        FillCountryCombo
()
    
End Sub

    Sub FillCountryCombo
()
        
Dim sql As String "SELECT * FROM Country"
        
Dim da As New OleDb.OleDbDataAdapter(sqlconn)
        
Dim dt As New DataTable
        da
.Fill(dt)
        
Me.cboCountry.DataSource dt
        Me
.cboCountry.ValueMember "id"
        
Me.cboCountry.DisplayMember "Name"
        
Application.DoEvents()
    
End Sub

    
Private Sub cboCoutry_SelectedValueChanged(ByVal sender As ObjectByVal e As System.EventArgsHandles cboCountry.SelectedValueChanged
        On Error Resume Next
        Dim sql 
As String "SELECT * FROM City WHERE CountryId=" Me.cboCountry.SelectedValue
        Dim da 
As New OleDb.OleDbDataAdapter(sqlconn)
        
Dim dt As New DataTable
        da
.Fill(dt)
        
Me.cboCity.DataSource dt
        Me
.cboCity.ValueMember "id"
        
Me.cboCity.DisplayMember "Name"
    
End Sub

End 
Class 





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




السلام عليكم ورحمة الله وبركاته
ما شاء الله عليكم
سلمت أياديكم وبورك فيكم
بالنسبة للأخ @@أبورائد@@ أشعر بأن هناك تآمر دولي Rolleyes لأن أغلب مشاركاته بدون (شكرا وأعجبني):confused:
هههههه
وفقكم الله لكل خير

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


sooriaty03 كتب :السلام عليكم ورحمة الله وبركاته
ما شاء الله عليكم
سلمت أياديكم وبورك فيكم
بالنسبة للأخ أبورائد  أشعر بأن هناك تآمر دولي Rolleyes لأن أغلب مشاركاته بدون (شكرا وأعجبني):confused:
هههههه
وفقكم الله لكل خير





هههههههههههه

الله يسعدك حبيبي..........

والله انا متأكد من شعور الجميع والبذات أنــــــــــت، أسعد عندما ارى تفاعلك مع الجميع.....وكأنك أحد أبنائي (تصادف تعليقك قريب الشبه من تعليق أحد أبنائي..سبحان الله..)





السلام عليكم ورحمة الله وبركاته
السلام عليكم ورحمة الله وبركاته
وأخيرا ظهرت عبارة (شكرا وأعجبني)Smile
ههههههه
الله يسعدك ويحفظك ويحفظ أبناءك
بالتوفيق
الصفحات : 1 2