COMPLICADO (y largo)!!!
Publicado por Pepito (8 intervenciones) el 01/08/2007 15:09:02
Tengo un problema bastante complicadito para mi:
Dos tablas (en Access), una llamada “Socios” con un único código por cada socio (numérico) , sus datos (nombre,apellido,etc.) y un campo llamado Activo (del tipo Si/No). La otra tabla “Asistencia” con el código de los socios que se repite y un campo Fecha_asistencia (tipo fecha) donde se ingresa el día en el que el socio ingresa. Lo que quiero lograr es que si ha pasado un mes (aproximadamente) sin que un socio ingrese en la Asistencia, el campo Activo de la tabla Socios sea False (no), caso contrario que sea True(si). Con este código lo único que logro es que absolutamente todos los socios que tienen el campo Activo en True, se pongan en False:
With DataSocios.rsSocios
If .RecordCount > 0 Then
.MoveFirst
End If
.Filter = ""
Do While Not .EOF
VARCOD = Str(!codigo) ‘creo una variable para que se guarde el codigo del socio
With DataSocios.rsAsistencia
If .RecordCount > 0 Then
.MoveFirst
End If
criterio = "codigo= " + VARCOD
.Find criterio
VARFE = Date – 30 ‘variable para que la fecha sea un mes anterior aproximadamente
Do While Not .EOF
If !fecha_asistencia < VARFE Then ' si el campo fecha_asistencia es menor a 30 dias
VARACT = False
Else
VARACT = True
End If
.MoveNext
Loop
End With
!activo = VARACT ‘para que el campo ACTIVO me tome el valor de VARACT
.Update
.MoveNext
Loop
End With
Espero haber podido ser lo más claro posible. Es un quilombo terrible, pero si hay alguien que tenga las ganas de leer esto voy e estar muy agradecido!!! Saludos!!!
Dos tablas (en Access), una llamada “Socios” con un único código por cada socio (numérico) , sus datos (nombre,apellido,etc.) y un campo llamado Activo (del tipo Si/No). La otra tabla “Asistencia” con el código de los socios que se repite y un campo Fecha_asistencia (tipo fecha) donde se ingresa el día en el que el socio ingresa. Lo que quiero lograr es que si ha pasado un mes (aproximadamente) sin que un socio ingrese en la Asistencia, el campo Activo de la tabla Socios sea False (no), caso contrario que sea True(si). Con este código lo único que logro es que absolutamente todos los socios que tienen el campo Activo en True, se pongan en False:
With DataSocios.rsSocios
If .RecordCount > 0 Then
.MoveFirst
End If
.Filter = ""
Do While Not .EOF
VARCOD = Str(!codigo) ‘creo una variable para que se guarde el codigo del socio
With DataSocios.rsAsistencia
If .RecordCount > 0 Then
.MoveFirst
End If
criterio = "codigo= " + VARCOD
.Find criterio
VARFE = Date – 30 ‘variable para que la fecha sea un mes anterior aproximadamente
Do While Not .EOF
If !fecha_asistencia < VARFE Then ' si el campo fecha_asistencia es menor a 30 dias
VARACT = False
Else
VARACT = True
End If
.MoveNext
Loop
End With
!activo = VARACT ‘para que el campo ACTIVO me tome el valor de VARACT
.Update
.MoveNext
Loop
End With
Espero haber podido ser lo más claro posible. Es un quilombo terrible, pero si hay alguien que tenga las ganas de leer esto voy e estar muy agradecido!!! Saludos!!!
Valora esta pregunta


0