prova ad usare un DataCombo al posto di una semplice comboBox. i datacombo hanno la proprietà rowsource e datasource alle quali devi assegnare l'origine record; in più hanno la proprietà ListField = lista dei nomi visualizzati nella finestr combo e la proprietà BuondColumn = lista dell'id corrispondente a ciascun nome della lista. Quando selezioni dal datacombo un nome puoi leggere il corrispondente id utilizzando la proprietà BoundText. Tieni presente che l'id restituito è una stringa, quindi quando vai a salvarlo nella tb devi convertirlo in long: CLng(DataCombo.BoundText).

Per inserire questi oggetti nel progetto devi andare sul menu progetto --> componenti --> Microsoft DataList Controls 6.0.

spero di esserti stata utile.