Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2008, 10:43
lucasarts_18
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 18 años, 4 meses
Puntos: 5
Pregunta ¿Como devolver un tipo definido desde una función? Ok !!

Hola:

Tengo el siguiente tipo definido en un modulo (*.bas).

Código:
Public Type tPaciente
   paciRut As String
   paciNroFicha As Long
   paciFecIng As Date
   paciNom As String
   paciApe1 As String
   paciApe2 As String
   paciSexo As String
   paciFecNac As Date
   paciEdad As Integer 'Edad en dias
End Type
y una función que retorna dicho tipo de dato.

Código:
Public Function getPaciente(pNroFicha As Long) As tPaciente
   
   Dim sPaci As tPaciente
   
   Dim query As ADODB.Recordset
   Dim sql As String
   
   vSql = "select * from hfpaci where numero_ficha = " + pNroFicha
   Set query = New ADODB.Recordset
   
   'query.RecordSource = vSql
   query.Open vSql, cogestion, adOpenForwardOnly, adLockReadOnly
   
   sPaci.paciRut = query.Fields("rut_paciente")
   sPaci.paciNroFicha = query.Fields("numero_ficha")
   sPaci.paciFecIng = query.Fields("fecha")
   sPaci.paciNom = query.Fields("nombre_paciente")
   sPaci.paciApe1 = query.Fields("apellido_paciente")
   sPaci.paciFecNac = query.Fields("fecha_nacimiento")
   sPaci.paciSexo = query.Fields("sexo")
   
   query.Close
   query = Nothing
   
   getPaciente = sPaci
   
End Function
Pero al momento de llamar a la función me sale el siguiente error.

---------------------------
Microsoft Visual Basic
---------------------------
Error de compilación:

Sólo los tipos definidos por el usuario de módulos de objeto públicos se pueden pasar a funciones enlazadas en tiempo de ejecución o forzar a o desde un Variant