Access - recorrer registros al cargar formulario

 
Vista:

recorrer registros al cargar formulario

Publicado por Pere (10 intervenciones) el 19/01/2009 01:13:05
Hola compañeros,
en un foro encontre este codigo que lo he modificado y cuado activo el registro me lanza el msgBox si es aniversario... ¿pero como puedo hacer que al cargarme el formulario recorra los registros automaticamente?
he hecho alguna prueba con resultados negativos...
codigo:(tengo un campo que es la fecha nacimiento)

Private Sub Form_Current()
If Format(Date, "dd-mm") = Format([fecha nacimiento], "dd-mm") Then
MsgBox "hoy " & [Nombre] & " " & [Apellidos] & " cumple " & [edat_actual] & " años"
End If
End Sub
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:recorrer registros al cargar formulario

Publicado por mi menda (1111 intervenciones) el 21/01/2009 05:56:39
Hola:
Prueba de esta forma:

Dim rst As DAO.Recordset
Dim ssql As String
Dim fechaHoy As String
Dim strNombre As String

fechaHoy = Format(Date, "dd/mm")

ssql = "SELECT Nombre & ' ' & Apellidos As rN, [fecha nacimiento] FROM Tabla1 "
ssql = ssql & "WHERE Cstr(Format([fecha nacimiento],'dd/mm')) = '" & fechaHoy & "' "

Set rst = CurrentDb.OpenRecordset(ssql)

If rst.RecordCount = 0 Then
rst.Close
Set rst = Nothing
Exit Sub
End If

rst.MoveLast
rst.MoveFirst

While Not rst.EOF
strNombre = strNombre & vbCrLf & rst!rN
rst.MoveNext
Wend

MsgBox "Hoy cumplen años las siguientes personas:" & strNombre, _
vbInformation, "FELIZ CUMPLEAÑOS"

rst.Close
Set rst = Nothing

La verdad es que a mí me ha vuelto loco hasta que puse un MsgBox:
Dim fechaHoy As Date
fechaHoy = Format(Date,"dd/mm")
MsgBox fechaHoy

y verás que también devuelve el año, por eso el pasar esa variable a String y convetir también a String el campo fecha nacimiento.

Un Saludo
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