¿Ayuda visual basic - access 10 puntos urgente?

Tengo una base de datos de una biblioteca hecha en Access, a esta accedo a traves de un software que hice en Visual Basic

A traves de esta puedo ingresar y borrar libros y estudiantes, generar prestamos, y descargar los libros una vez sean devueltos

El funcionamiento basico ya esta, pero necesito corregir algunas cosas

1) Si se ingresa un dato ya existente, quiero generar un MsgBox que diga que este dato ya existe sin generar error por duplicado

2) Si se ingresa un valor nulo, generar un MsgBox diciendo que debe ingresarse informacion sin generar error por falta de valor

3) Generar un reporte de los prestamos (Mostrar lo valores de la tabla prestamos, puede ser en un listbox, en un combobox o en otro formulario)

4) Establecer un maximo días de prestamo (ejemplo: 3 dias), si se pasa de este tiempo el usuario tendra multa (O en su defecto un MsgBox que diga que el tiempo expiro) (OPCIONAL)

5) Al realizar el prestamo se ingresa el codigo del libro y el codigo del estudiante, esto quiere decir que la tabla prestamo tendra estos valores, lo que quiero ahora es que en el reporte no se visualize codigo de libro y codigo de estudiante sino codigo de libro, nombre de libro, codigo de estudiante y nombre de estudiante

Update:

YA HICE TAMBIEN LA PARTE 2 JEJE

NECESITO LAS OTRAS 2 :(

Comments

  • 1) Tienes varias opciones, yo te muestro dos de ellas:

    1.1) Manejo de errores y transacciones, es decir si manejas transacciones cuando hagas el insert de un registro ya duplicado este te devolvera un error el cual puedes controlar y en lugar de desplegar el valor del error, puedes perzonalizarlo a lo que tu quieras ejemplo:

    Private function agregar_registro

    On error resume next

    tu_conexion.BeginTrans

    'aqui el codigo que realiza el insert

    If Err.Number = 9999 then

    msgbox("Imposible agregar, el registro ya existe", vbCritical, vbOk, "Titulo del mensaje"

    tu_conexion.RollBack

    End If

    tu_conexion.CommitTrans

    End function

    La otra opcion es la que mencionan, que hagas una busqueda antes de insertar, esto podria quedar simplemente con un:

    ssql = "select count(*) from tabla where condiciones"

    recordset.Open ssql

    If recordset.fields(0).Value >= 1 Then

    msgbox("El registro ya existe")

    else

    'tu codigo para insertar el registro

    End If

    Para la 4) Podrias tener 3 campos de fecha en tu tabla llamados fecha_prestamo, fecha_entrega, dias_disponibles

    donde el campo fecha_prestamo debera ser llenado al momento de realizar el insert del registro con la fecha del sistema (fecha real del prestamo)

    el campo de fecha entrega, debras calcularlo sumandole los dias que quieras que este a prestamo al campo de fecha_prestamo o bien asignar la fecha de forma manual cuando captures el registro

    y por ultimo la fecha de dias disponibles seran los dias que le queden antes de llegar a fecha_entrega, este camppo debera actualizarce diariamente al iniciar el sistema, para que la fecha se vaya recorriendo a la real

  • 1. Es relativamente sencillo, de realizar. Debes crear una rutina que haga una busqueda del valor que haz ingresado y verificar que no existe antes de proceder a actualizar el registro de la tabla. en caso de que el valor ya exista avisar al usuario, sino proceder con la insercion.

    4. Para ello bien puedes agregar un campo de multa en la tabla usuario y verificar en la tabla los campos de fecha de prestamo y fecha de entrega (si no existen puedes crearlos), si al hacer la diferencia entre estas 2 fechas el resultado es mayor a 3 procede a escribir el registro en la tabla usuario, y mostrando el msgbox de que el tiempo ha expirado.

Sign In or Register to comment.