Q:

How to get value from access database to a combobox but split the collection(delimited by semicolons)?

I have an access database containing cells in this format  Type1;Type2;Type3
I want bring those value in a combobox so the combobox collection look like this: 
Type1
Type2
Type3

I know of to get the value here is my code:
        'type_text is the name of the combobox
        Dim ds As New DataSet()
        Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\equip_full.mdb;Jet OLEDB:Database Password="
        Dim db As String = "SELECT Type FROM EquipmentType Where Equipment= '" & item_text.Text & "'"
        Using cn As New OleDbConnection(ConnectionString)
            Using da As New OleDbDataAdapter(db, cn)

                da.Fill(ds, "Type")

            End Using
        End Using

        With type_text 
            .DisplayMember = "Type"
            .DataSource = ds.Tables("Type")
        End With

I also know how to separate the string 
            Dim s As String = type_text.Text
            Dim parts As String() = s.Split(New Char() {";"c})
            Dim part As String

            For Each part In parts
                Me.type_text.Items.Add(part)
            Next

How do I combine the two parts?

A:

Use an OleDbDataReader instead of filling a DataSet 
Dim ConnectionString As String = "......."
Dim db As String = "SELECT [Type] FROM EquipmentType Where Equipment= @item"
Using cn As New OleDbConnection(ConnectionString)
Using cmd = new OleDbCommand(db, cn)
   cn.Open()
   cmd.Parameters.Add("@item", OleDbType.VarWChar).Value = item_text.Text 
   Using reader = cmd.ExecuteReader()
      while reader.Read()
          Dim parts As String() = reader(0).ToString().Split(New Char() {";"c})
          For Each part In parts
              Me.type_text.Items.Add(part)
          Next
      End While
   End Using
End Using
End Using

Notice also that I have put square brackets around your field named Type. I am pretty sure that this is a reserved keyword and as such you cannot use it literally in your query text but need the brackets to help the engine recognize this as a field name. Better change that fieldname if still possible.  
Another thing that I have changed in your code is the string concatenation that builds the command text. This is always a bad practice also in Access where the Sql Injection is somewhat more difficult. In any case using a parameterized query as above helps a lot to keep your command clear and understandable without mentioning the errors caused by missing quotes around text values

