Datos

¿Cómo hago cuando estoy capturando información para que no me repita un código existente en una tabla en VB y yo poder manejar los mensajes de error?
Gracias
Respuesta
1
Supongo que te refieres a que cuando tienes una base de datos ACCESS manejada desde Visual, si insertas registros, y uno de ellos trata de introducir una clave duplicada aparece un error diciendo algo así como que el motor de base de datos no ha podido realizar la operación indicada porque se crearían registros con claves duplicadas, etc etc.
¿Es eso?
Si es así, hay dos formas de evitarlo:
1. Si antes de tratar de introducir el registro buscas la clave en la tabla y la encuentras es que esta clave ya existía. Entonces no intentas introducirla.
2. Tratas de introducir el registro por las buenas. Si ya existe la clave, te dará el error que te da actualmente, pero si en una sentencia anterior as puesto por ejemplo:
On error goto Etiqueta
Y luego tienes una sección del código que con un contenido como:
Etiqueta:
...
...
Resume next
Con esto, en vez de aparecer el mensaje de error, lo que te hará será ejecutar el código comprendido entre la etiqueta y el Resume. Tu verás lo que quieres que se haga en ese caso.
Como consejo, una forma muy "civilizada" de tratar las altas de nuevos registros es la siguiente:
Pones como primer dato a rellenar, la clave del registro. Así, normalmente el usuario rellenará en primer lugar ese dato. En el LostFocus de ese dato, esto es en cuanto el usuario ha terminado de teclear la clave, te vas a la base de datos y buscas esa clave. Si la encuentras, es que esa clave ya existía. Entonces pones el registro en edición y por lo tanto presentas al usuario todos los datos que ya tenía el registro de esa clave, permitiéndole modificarlos. Esto, insisto, nada más teclear la clave, lo cual ya le da al usuario la certeza de que esa clave ya existía.
Si en la búsqueda no encuentras la clave, creas el registro nuevo con esa clave (y si hay algún dato por defecto, también con esos datos por defecto), inmediatamente grabas el registro, y a continuación lo pones como registro activo y en edición, con lo cual estamos ya en la actualización de un registro existente como en el caso anterior.
Esto simplifica mucho la programación, es muy cómodo para el usuario (que tiene una consulta, un alta y una modificación en el mismo punto)y evita conflictos cuando la aplicación funciona en red y hay varios usuarios tratando de dar altas simultáneamente
Suerte :-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas