ho risolto passando la combo byRef.. cosi la funzione non restituisce niente.. semplicemente modifica le proprietà della combo.

ecco:
codice:
Public Function fillCombo(q As String, ByRef cmb As ComboBox, field As String)
   Dim rst As ADODB.Recordset
   'Dim f As field
   'f.Name = field
   Set rst = Me.exeQuery(q)
   If Not rst.EOF Then rst.MoveFirst
    Do While Not rst.EOF
        cmb.AddItem (rst!cause_fra)
        rst.MoveNext
    Loop
End Function
ora mi resta da risolvere il problema del campo! come posso fare? nelle righe commentate ho provato a creare un field e ad assegnargli il nome passato alla funzione. ma non credo sia la cosa da fare. consigli? io intanto continuo a cercare