تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة كومبو بوكس في فيجوال بيسك دوت نت
#1
باشتغل على فيجوال بيسك دوت نت 2010
عندي الاكسس جدول فيه اسماء البلاد وجدول فيه اسماء المدن ( parent amd child)
عمل كونكت على الاكسس والبرنامج بيجيب بيانات

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

عملت الكومبو الاول بس التاني بيجيب كل المدن
ممكن اعرف طريقة الكود الخاص بها
الرد }}}
تم الشكر بواسطة:
#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" 
بالتوفيق
Big Grin
<---------------------------------------------------------------->

الرد }}}
تم الشكر بواسطة: ezz73
#3
شكرا جدا على سرعة الرد

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

لنفرض ان اسم الجدول هو 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
يعني أربط الجدولين رقم الحقل الموجود في الجدول الأول مع رقم الحقل الموجود بالجدول الثاني

بالتوفيق
Big Grin
<---------------------------------------------------------------->

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

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





أشكر 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 





السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله وبركاته






الملفات المرفقة
.rar   Example.rar (الحجم : 100.53 ك ب / التحميلات : 159)
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم ورحمة الله وبركاته
ما شاء الله عليكم
سلمت أياديكم وبورك فيكم
بالنسبة للأخ @@أبورائد@@ أشعر بأن هناك تآمر دولي Rolleyes لأن أغلب مشاركاته بدون (شكرا وأعجبني):confused:
هههههه
وفقكم الله لكل خير
الرد }}}
تم الشكر بواسطة:
#9

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


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





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

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

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





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



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم