Hocam evvela veritabanında iki adet tablo olacak, Örnek olarak "sınıf" ve "ders" adında. sınıf tablosunda="sınıfID" ve "sınıfAd" alanları olsun, tüm sınıfları buraya kaydedeceksin.
Ders tablosunda ise "dersID","dersAd","sınıfID" olsun.  tüm derslerde bu tabloda olacak. sınıfID önemli burada derslere karşılık gelen sınıfın ID'si verilecek.
Geçelim C# kısmına 2 adet combobox ekledik. Birincisi SınıfComboBox ve ikincisi DersComboBox olsun. Formun Load olayına; (access varsayıyorum)
Veritabanı bağlantı cümlesini yazdığını varsayıyorum(baglan)
OleDbCommand cmd= new OleDbCommand("select* from sınıf",baglan);
                       
            baglan.Open();
            OleDbDataReader okusınıf = SınıfComboBox .ExecuteReader();
                            
                while (okusınıf.Read())
                {
                    SınıfComboBox .Items.Add(oku[1]);
                }
Form yüklenirken SınıfComboBox 'ını doldurduk.
Daha sonra SınıfComboBox'ının SelectedIndexChanged olayına;
            DersComboBox.Items.Clear();
            OleDbCommand cmdders = new OleDbCommand("select * from ders where sınıfID like'" + (SınıfComboBox.SelectedIndex + 1) + "'", baglan);
            OleDbCommand cmdsınıf = new OleDbCommand("select* from sınıf", baglan);
            baglan.Open();
            OleDbDataReader okuders = cmdsınıf.ExecuteReader();
            OleDbDataReader okusınıf = cmdders.ExecuteReader();
            
            while (okusınıf.Read())
            {
                SınıfComboBox.Items.Add(oku[1]);
            }
           
            while (okuders.Read())
            {
                DersComboBox.Items.Add(oku2[1]);
            }
            baglan.Close();
hocam bu kadar yeni aklıma geldi sana buna uygun bir uygulama göndereyim.