Saludos,
Primero: Te recomiendo que revises la siguiente
guía y
esta tambien, puedes usar el navegador google chrome para ver la página traducida.
Segundo: Usa las opciones del foro para mostrar tu código, ya que facilita la lectura del mismo (más personas te pueden ayudar).
Tercero: No son críticas, son sugerencias :)
Código vb:
Ver originalPrivate Function ComboPropietario() As ComboBox
Dim cbx1 As Control
If cbxUNP.Visible Then
ComboPropietario = cbxUNP.Name
ElseIf cbxPromotorP.Visible Then
ComboPropietario = cbxPromotorP.Name
Else
ComboPropietario = cbxGerenciaP.Name
End If
End Function
Ok el problema lo tienes en la funcion ComboPropietario(), recuerda que debes de asignar un objeto ComboBox que es el que devuelves en la función.
Para asignar un objeto lo haces de la siguiente manera:
El código de tu función ComboPropietario quedaria de la siguiente manera:
Código vb:
Ver originalPrivate Function ComboPropietario() As ComboBox
If cbxUNP.Visible Then
' Primero asignar el objeto
Set ComboPropietario = cbxUNP
ComboPropietario = cbxUNP.Name
ElseIf cbxPromotorP.Visible Then
Set ComboPropietario = cbxPromotorP
ComboPropietario = cbxPromotorP.Name
Else
Set ComboPropietario = cbxGerenciaP
ComboPropietario = cbxGerenciaP.Name
End If
End Function
Con eso creo que ya puedes modificar el resto de tu código, ya que a mi me genera error en ComboCompartido (Por no tener el código).
Tambien puedes arreglar tu manejo de errores de la siguiente manera:
Has creado dos etiquetas una arriba de la otra, sin embargo algo que han criticado mucho a los programadores de VB es el uso de goto, trata de usarlo solo para manejo de errores, pero no te muevas de un lado para otro ;)
Por ejemplo el manejo de los errores en tu funcion ValidaCampos puede quedar de la siguiente manera:
Código vb:
Ver original'Esto es casi el final de tu función ValidaCampos
If bFalta = True Then
MsgBox "Favor de llenar los campos vacíos", vbInformation
bNoOk = True
End If
Exit Function
Err_ValidaCampos:
Me.MousePointer = 0
MsgBox Err.Description
End Function
Y la última cosita (es la última lo prometo
) es que uses funciones cuando vas a devolver un valor, si no vas a devolver un valor puedes usar procedimientos:
Código vb:
Ver originalPrivate Sub ValidarCampos2()
'En lugar de Exit Function utilizas Exit Sub
Exit Sub
End Sub
Espero que te sea de utilidad y que tomes mis comentarios de una manera constructiva para que sigas aprendiendo y sigas avanzando en la programación (.Net).