Как правило, когда вы копируете и вставляете строки на одной и той же странице, вспомните, что вы делаете, потому что, вероятно, это можно улучшить.
Вот кое-что, о чем я подумалВаша проблема:
If yearlabel.Text = "Grade 11" AndAlso course_label.Text = "STEM" Then
Dim query As String
Dim className As String
If semester_label.Text <> "" Then
Select Case semester_label.Text
Case "First semester"
className = "[STEM G11 FS]"
query = "SELECT* FROM [Subjects] ORDER BY " & className
Case "Second semester"
className = "[STEM G11 SS]"
query = "SELECT* FROM [Subjects] ORDER BY " & className
End Select
con.Close()
con.Open()
cmd = New SqlClient.SqlCommand(query, con)
cmd.CommandText = query
cmd.Connection = con
drd = cmd.ExecuteReader
subject_cbx.Items.Clear()
While (drd.Read())
subject_cbx.Items.Add(drd(className))
End While
cmd.Dispose()
drd.Close()
con.Close()
End If
End If
Обратите внимание, что это почти точно ваш код, но организован таким образом, чтобы избежать повторений.И в качестве бонуса, проверьте свой комбинированный список сейчас!