Access - fechas

 
Vista:

fechas

Publicado por magartre (70 intervenciones) el 25/01/2008 18:03:02
Hola atod@s, tengo una duda que no soy capaz de resolver, cuando salgo de un campo determinado quiero que me haga una diferencia entre dos fechas para poner en otro campo un dato, el código que utilizo es.

Private Sub categoria_EXIT(Cancel As Integer)
If Year(Date) - Year([fechanacimiento]) >= 18 Then
Me.categoria = "SENIOR"
ElseIf Year(Date) - Year([fechanacimiento]) >= 16 Then
Me.categoria = "CADETE"
ElseIf Date - [fechanacimiento] <= 14 Then
Me.categoria = "INFANTIL"
ElseIf Date - [fechanacimiento] <= 12 Then
Me.categoria = "ALEVIN"
ElseIf Year(Date) - Year([fechanacimiento]) <= 10 Then
Me.categoria = "BENJAMIN"
ElseIf Year(Date) - Year([fechanacimiento]) <= 8 Then
Me.categoria = "ARDILLA"

End If
End Sub

Como veis quiero en función de la diferencia de años,8,10,12,14, etc, entre la fecha actual y la de nacimiento me ponga una u otra categoría.
Este código no me funciona y no encuentro el error.
Gracias anticipadas
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:fechas

Publicado por mi menda (1111 intervenciones) el 25/01/2008 19:55:05
Hola magartre:

Prueba con esto:

Dim dameEdad As Long

'Formula para el calculo de edad encontrada en este foro (Chea)
dameEdad = (Format(Date, "yyyymmdd") - Format([Fechanacimiento], "yyyymmdd")) 10000

Select Case dameEdad
Case Is >= 18
Me.categoria = "SENIOR"
Case 16 To 17
Me.categoria = "CADETE"
Case 14 To 15
Me.categoria = "INFANTIL"
Case 12 To 13
Me.categoria = "ALEVIN"
Case 10 To 11
Me.categoria = "BENJAMIN"
Case 8 To 9
Me.categoria = "ARDILLA"
Case Else
Me.categoria = "TIENE QUE CRECER MAS"
End Select
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:fechas

Publicado por mi menda (1111 intervenciones) el 25/01/2008 20:47:22
Me acabo de dar cuenta de que falta la bara de división al final:
/ 10000

(Format(Date, "yyyymmdd") - Format([Fechanacimiento], "yyyymmdd")) / 10000
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