Access - Function o Variable

 
Vista:

Function o Variable

Publicado por David (7 intervenciones) el 15/01/2009 13:32:01
Hola

He declarado la siguiente funcion para utilizarla en un informe, pero no consigo que funcione y no se porque...

Public Function MesesContratos(CDni As String) As Variant
On Error Resume Next

Dim strSql As String, _
indefs As Integer, _
Duracion As Integer

'Aqui veo si hay algun contrato que sea indefinido para esta persona
strSql = "Select Count(*) From Contratos j Where j.TipoContrato = 'indef' AND j.DNI = '" & CDni & "'"

indefs = CurrentDb.Execute(strSql)

If indefs <> 0 Then
MesesContratos = "indef"
Else
strSql = "Select Sum(Duracion) From Contratos v Where v.DNI = '" & CDni & "'"
Duracion = CurrentDb.Execute(strSql)
MesesContratos = Duracion
End If

End Function

El error que me sale es el siguiente: " Error de Compilación Se esperaba Function o una variable"

En el informe la llamo de la siguiente manera: Origen de Control: =MesesContratos([Nif])

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Function o Variable

Publicado por JMAN (96 intervenciones) el 15/01/2009 16:52:11
es curioso a mi tampoco me reconoce el sub Execute a pesar de que al parecer es DAO y revise la referencia dao encontrando todo ok

y la documentacion me tira a una ventana vacia )=<
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Function o Variable

Publicado por David (7 intervenciones) el 16/01/2009 11:03:48
Hola ....

Al final encontre la solucion con la ayuda de unos amiguetes

Dim strSql As String, _
indefs As Integer, _
Duracion As Integer, _
rs As Recordset

'Aqui veo si hay algun contrato que sea indefinido para esta persona
strSql = "Select Count(*) as num From Contratos j Where j.TipoContrato = 'indef' AND j.DNI = '" & CDni & "'"

'Execute la select i la volque en un recordset i despres de este trac el resultat que vullc
Set rs = CurrentDb.OpenRecordset(strSql, dbOpenForwardOnly)
indefs = CInt(rs!num)

EN la variable indefs se me queda el valor que devuelve la select.... Espero que os sea de utilidad...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar