comparar fechas, una de un registro, la otra de u
Publicado por Franco (1 intervención) el 10/09/2008 22:43:40
Hola, tengo que hacer un sistema de bases de datos para una materia de la escuela, es una sistema de gestion de librerias desde visual basic con bases de datos acces, una de las consignas es que el sistema emita un listado con los clientes que cumplen años el día de la fecha, ahora viene mi problema, puse el código para que compare la fecha de nacimiento del cliente con la del sistema, obvio que solo compara el mes y el dia, pero cuando ejecuto el programa me muestra todos los registros solo los que cumplen años, puse el código en un boton,este es el codigo: la variable fecha ya fue declarada como date
Dim fecha As Date
Dim conn As ADODB.Connection
Dim RsRecordset As ADODB.Recordset
Dim nodo As ListItem
fecha = Date
ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add 1, "", "idCliente"
ListView1.ColumnHeaders.Add 2, "", "Nombre"
ListView1.ColumnHeaders.Add 3, "", "Apellido"
ListView1.ColumnHeaders.Add 4, "", "Teléfono"
ListView1.ColumnHeaders.Add 5, "", "E-mail"
ListView1.ColumnHeaders.Add 6, "", "Fecha de nacimiento"
ListView1.ColumnHeaders.Add 7, "", "DNI"
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "ase.mdb;Persist Security Info=False"
Set RsRecordset = New ADODB.Recordset
RsRecordset.Open "clientes", conn, adOpenDynamic, adLockOptimistic
ListView1.ListItems.Clear
RsRecordset.Requery
RsRecordset.MoveFirst
If Mid(Date, 1, 5) = Mid(RsRecordset("fechanacimiento"), 1, 5) Then
MsgBox ("Los siguientes clientes cumplen años en el día de la fecha"), vbInformation, ("Cumpleaños")
While Not RsRecordset.EOF
Set nodo = ListView1.ListItems.Add(, , RsRecordset("idcliente"))
nodo.SubItems(1) = RsRecordset("nombre")
nodo.SubItems(2) = RsRecordset("apellido")
nodo.SubItems(3) = RsRecordset("telefono")
nodo.SubItems(4) = RsRecordset("e-mail")
nodo.SubItems(5) = RsRecordset("fechanacimiento")
nodo.SubItems(6) = RsRecordset("dni")
RsRecordset.MoveNext
Wend
Else
MsgBox ("No hay cumpleaños de clientes en el día de la fecha"), vbInformation, ("Cumpleaños")
End If
RsRecordset.Close
ListView1.Refresh
Seía muy bueno si me pueden ayudar a resolver el problema. Gracias
Dim fecha As Date
Dim conn As ADODB.Connection
Dim RsRecordset As ADODB.Recordset
Dim nodo As ListItem
fecha = Date
ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add 1, "", "idCliente"
ListView1.ColumnHeaders.Add 2, "", "Nombre"
ListView1.ColumnHeaders.Add 3, "", "Apellido"
ListView1.ColumnHeaders.Add 4, "", "Teléfono"
ListView1.ColumnHeaders.Add 5, "", "E-mail"
ListView1.ColumnHeaders.Add 6, "", "Fecha de nacimiento"
ListView1.ColumnHeaders.Add 7, "", "DNI"
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "ase.mdb;Persist Security Info=False"
Set RsRecordset = New ADODB.Recordset
RsRecordset.Open "clientes", conn, adOpenDynamic, adLockOptimistic
ListView1.ListItems.Clear
RsRecordset.Requery
RsRecordset.MoveFirst
If Mid(Date, 1, 5) = Mid(RsRecordset("fechanacimiento"), 1, 5) Then
MsgBox ("Los siguientes clientes cumplen años en el día de la fecha"), vbInformation, ("Cumpleaños")
While Not RsRecordset.EOF
Set nodo = ListView1.ListItems.Add(, , RsRecordset("idcliente"))
nodo.SubItems(1) = RsRecordset("nombre")
nodo.SubItems(2) = RsRecordset("apellido")
nodo.SubItems(3) = RsRecordset("telefono")
nodo.SubItems(4) = RsRecordset("e-mail")
nodo.SubItems(5) = RsRecordset("fechanacimiento")
nodo.SubItems(6) = RsRecordset("dni")
RsRecordset.MoveNext
Wend
Else
MsgBox ("No hay cumpleaños de clientes en el día de la fecha"), vbInformation, ("Cumpleaños")
End If
RsRecordset.Close
ListView1.Refresh
Seía muy bueno si me pueden ayudar a resolver el problema. Gracias
Valora esta pregunta


0