Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Comprobar registro en formulario Access

Estas en el tema de Comprobar registro en formulario Access en el foro de Bases de Datos General en Foros del Web. Hola: Mi problema es relativamente sencillo, pero no sé cómo se hace: En un formulario de access meto diversos datos, y uno de ellos no ...
  #1 (permalink)  
Antiguo 01/06/2005, 12:23
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años
Puntos: 2
Comprobar registro en formulario Access

Hola:

Mi problema es relativamente sencillo, pero no sé cómo se hace:

En un formulario de access meto diversos datos, y uno de ellos no se puede repetir. Pues bien, necesito que si se mete un dato que ya existe, lo avise y me muestre el registro correspondiente.

Ejemplo:

Código:
NOMBRE        MATRICULA
juan               1
pedro              2
Y si creando una ficha nueva, pongo matrícula 1, al sacarle el foco de ese campo, me diga "eh, tú, que esa matrícula ya está usada <aceptar>" y se sítúe en el registro para ver que corresponde a "juan".

no sé si me explico...

gracias de antemano
  #2 (permalink)  
Antiguo 01/06/2005, 12:58
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 7 meses
Puntos: 2
Hola!

Puedes crear un "index unique" sobre la pareja que no quieres que se repita, algo como:

create index unique clustered on NOMBRE, MATRICULA

No se si en acces se soporte ese tipo de index, poro para lo que necesitas creo que seria lo mejor.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #3 (permalink)  
Antiguo 02/06/2005, 01:59
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años
Puntos: 2
Esteeeeee ¿y dónde pondría eso?

  #4 (permalink)  
Antiguo 02/06/2005, 09:02
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 7 meses
Puntos: 2
Hola

Primero busca si en acces se pude, porque no he usado acces para ese tipo de cosas, y luego te fijas como hacerlo, debe estar en la declaración de indexes, o en la declaracion de los campos, pero es mas probable que sea en la declaracion de index..

Busca donde tienes "Manage Index", no se, algo asi.

Pero en cuestion de bases de datos eso seria lo option, delarar ese index unique para asegurar que nunca vas a tener parejas iguales.

La parte que quieres del formulario, lo unico que tienes que hacer es algo asi:

<?

select NOMBRE, MATRICULA where nombre = NOMBRE_BUSQUEDA and MATRICULA = MATRICULA_BUSQUEDA

Entonces si encuentras datos, quiere decir que si existe, entonces haces todo lo que necesitas para mostrar el mensaje al usuario de que ese campo ya existe.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #5 (permalink)  
Antiguo 03/06/2005, 11:38
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años
Puntos: 2
Lo he "solucionado" poniendo un botón "verificar" con el siguiente procedimiento de evento al hacer click: (es un poco guarro, pero ¡hey! funciona)

Código:
Private Sub verifica_Click()
On Error GoTo Err_guardar_Click


    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    Nombre.SetFocus
    MsgBox "      CÓDIGO VÁLIDO: PUEDE PROCEDER      "


Exit_guardar_Click:
    Exit Sub

Err_guardar_Click:
        On Error GoTo Err_deshacer_Click
            DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

    MsgBox "   EL CÓDIGO INTRODUCIDO YA EXISTE; LOCALÍCELO   "
On Error GoTo Err_buscar_Click


    codigo.SetFocus
    DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

Exit_buscar_Click:
    Exit Sub

Err_buscar_Click:
    MsgBox Err.Description
    Resume Exit_buscar_Click

            
Exit_deshacer_Click:
    Exit Sub

Err_deshacer_Click:
    MsgBox Err.Description
    Resume Exit_deshacer_Click
    MsgBox Err.Description
    Resume Exit_guardar_Click
    
End Sub
Esto lo que hace es: si el código introducido en el campo de al lado no existe, muestra un "alert" diciendo "es válido" y al darle a aceptar, pone el foco en el siguiente campo que hay que rellenar; si el código ya existe, muestra un "alert" diciendo que ya existe y que hay que buscarlo y al darle aceptar, saca la búsqueda y borra el dato del campo (si no, entra en bucle porque he usado "guardar" y no permite guardar un código ya existente)

Lo que queda por mejorar es que lo busque solito... (ni siquiera he logrado pasarle el valor introducido a la ventana de buscar)

¿ideas?


-gracias-
  #6 (permalink)  
Antiguo 03/06/2005, 14:30
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 7 meses
Puntos: 2
Sorry...

Yo estaba pensando que lo estabas haciendo desde un ASP externo.

Suerte!! de formularios internos de Acces no conozco casi nada...
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:14.