Ok, first you should use OleDbAdapter and a dataset instead of the reader. Your code would look like this:
Private Sub Fill_Combo_Box(ByVal ParmSQL As String, ByVal ComboName As ComboBox) Dim Con As OleDbConnection
Dim adapter as OleDbAdapter
Dim dataSet as DataSet
Dim sqlCmd As OleDbCommand = New OleDbCommand(ParmSQL)
Con = New OleDbConnection(Main_Form.ConString)
Try
Con.Open()
sqlCmd.Connection = Con
adapter.SelectCommand = sqlCmd
adapter.Fill(dataSet)
ComboName.DataSource = dataSet.Tables(0)
ComboName.ValueMember = "NameOfFirstColumn"
ComboName.DisplayMember = ("NameOfSecondColumn").PadRight(10, " ") & " " & "NameOfThirdColumn"
Catch
I'm not too sure about the displayMember being a valid expression, I'm guessing not but maybe you could add a new column to your sql table that has the text in the format you want and then you'd just say:
ComboName.DisplayMember = ("NameOfNewColumnWithTheFormat")
Meanwhile you can test just with the valuemember and not mess with the displayMember by using SelectedItem.Value. Good Luck