1. I don’t know of a way to populate a combo from a table/query automatically in VB6. You would have to programmatically connect to the database, execute a query and use the resultant recordset to add items to the combo, one at a time (with a loop).
2. You would need to include a data control (data, oradc, adodc, etc., depending on the database and how you want to connect to it) in your form, and set the properties needed to connect it to a specific database table (the one where the combo selection will be stored), then set this data control as the data source of your combo box, and set the appropriate table column name to its DataField property.
3. That is the default behavior of a combo box, but if you want these new values to be inserted into the look up table where the combo was populated from, you would have to write the necessary code in some event handler of the combo (the validate event, for example).
Hope this helps.