Ayuda!!! funciones con objetos

lidiana
05 de Abril del 2004
Estoy haciendo una aplicación, y cargo el mismo combo en varios formularios. Estoy intentando hacer una funcion, poniendola en un modulo, de forma que me sirva para todos los formularios.
He provado varias formas y en todas me da problemas, de que no me reconoce el objeto, o los tipos no son los mismos...

En el modulo pongo:

Public Sub cargar_combo_vias_gen()
Dim rs As New ADODB.Recordset
Dim sql As String
sql = "select * from tipos_via order by nom_tipo_via"
rs.Open sql, conexion, adOpenDynamic, adLockOptimistic
cmb_via.Clear
rs.MoveFirst
If Not rs.EOF Then
Do While Not rs.EOF
cmb_via.AddItem (rs(2) & ", " & rs(1))
cmb_via.ItemData(cmb_via.NewIndex) = rs(0)
rs.MoveNext
Loop
End If
rs.Close: Set rs = Nothing
End Sub
siendo cmb_via el nombre del ComboBox.
Al llamarlo y empezar a ejecutarlo, no reconoce el objeto cmb_via.

Si en el modulo pongo

Public Sub cargar_combo_vias_gen(cmb_via As Object)

y lo llamo con: cargar_combo_vias_gen(cmb_via), me dice que no coinciden los tipos.

¿que puedo hacer para que me funcione?

Gracias de antemano a quien me quiera ayudar

Un saludo

rafa
05 de Abril del 2004
Hola lidiana.
No tengo el vb a mano y no puedo comprobar una cosa, pero bueno me fiare de mi memoria.
prueba a pasarlo cargar_combo_vias_gen(cmb_via),
y en el modulo: Public Sub cargar_combo_vias_gen(cmb_via As combobox)'no recuerdo si es combobox o algo similar, pero en el desplegable te saldra.
tb puede que te sirva como variant.
y si no prueba a
Public Sub cargar_combo_vias_gen(formulario as form) y luego
formulario.cmb_via
Suerte
Un saludo
RAFA

lidiana
05 de Abril del 2004
Muchas Gracias por contestar.

He probado con:

Public Sub cargar_combo_vias_gen(via As ComboBox)
y pasandole: cargar_combo_vias_gen(cmb_via) y cargar_combo_vias_gen(me.cmb_via)

y me da error de que no coinciden los tipos.

Lo mismo me pasa utilizando formularios
Public sub cargar_combo_vias_gen(formulario as form)
y pasando cargar_combo_vias_gen(frm_cabeceras)

No se dónde está el fallo. Puede ser que esté en lo que le paso al llamar a la función, pero he probado de varias formas y siempre es el mismo fallo: No coinciden los tipos.

Gracias de antemano.
Un saludo