Access - Pregunta de novatísima sobre reglas validacion

 
Vista:

Pregunta de novatísima sobre reglas validacion

Publicado por Aurora (12 intervenciones) el 11/08/2002 19:21:23
Saludos, estoy iniciandome en access y he creado unas tablas para practicar, en una tabla no quiero que se repita el campo "títuloCD" que es un campo de texto y meto nombres de Cd de música, para ello lo he puesto como clave principal, pero el problema es que quiero que cuando meta un título duplicado me salga un mensaje de error, no cuando termine de meter todos los demás datos, sino cuando meta el título del Cd. Para eso he escrito en texto validación el mensaje de error, pero no me sale. ¿Cómo puedo hacerlo?. Espero que no me halla liado mucho al explicar lo que quiero hacer.
Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pregunta de novatísima sobre reglas validacion

Publicado por mariano (88 intervenciones) el 11/08/2002 19:38:37
las reglas de validacion no te sirven para lo que quuieres hacer.
Si metes un duplicado el propio Access(al guardar el registro añadido, bien sea pasando a otro registro o introduciendo uno nuevo) te dira que la clave esta duplicada con un mensaje, eso si, bastante largo y confuso. Para hacer lo que tu quieres tendrias que controlar el error que da al duplicar una clave me diante código y poner el mensaje que tu quieras. Si eres tan novata como dices tendrias que estudiar un poquito para poderlo hacer.

un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por aurora (12 intervenciones) el 11/08/2002 21:27:03
Cuando te refieres a código ¿es Visual Basic? He leído dos libros de access y no encuentro lo que quiero hacer, si haces el favor dime donde tengo que leer o mirar
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por Victoria (1530 intervenciones) el 11/08/2002 22:48:08
Hola Aurora
Hay varias formas de hacer lo que deseas, esta es una, me resulta cómoda
Haz un form basado en tu tabla
Suponiendo que el campo que quieres controlas se llama Nombre, y que la tabla origen de datos se llama tbDos, el código sería:
Private Sub nombre_AfterUpdate()
Dim mCad As String
Dim mRs As Recordset
'seleccionamos los registros de la tabla cuyo campo sea igual al del formulario
'fijate en las comillas sencillas, se ponen por ser variable String
mCad = "select *from tbDOS where nombre='" & Me.nombre & "'"
'asignamos la cadena a una variable recordset
Set mRs = CurrentDb.OpenRecordset(mCad)
'si hay registros, el campo ya exite
If mRs.RecordCount > 0 Then
'desacemos la introducción del dato
Me.Undo
End If
'cerramos el recordset
mRs.Close
End Sub
Si tienes dudas, me escribes, ya te digo que hay varias formas
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por aurora (12 intervenciones) el 12/08/2002 19:33:46
Gracias or contestar, pero me gustaría saber si hay una regla de validación que sea sencilla de hacer para que cuando inserto el nombre de un cd en la columna llamada "TituloGrabación" (sin ser clave principal de la tabla), me detecte que está duplicado.
Lo he intentado poniendo en clave principal sin duplicados pero no me deja meter ningún dato, aunque no esté duplicado.
Gracias y perdonad tantas preguntas, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por Victoria (1530 intervenciones) el 12/08/2002 20:51:34
Hola Aurora
No sé que estás haciendo, pero, si pones un campo en una tabla como clave y SIN duplicados, te admite meter datos pero NO los duplicados de ellos
¿por qué no intentas lo que te dije en el otro mensaje?
Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por aurora (12 intervenciones) el 12/08/2002 21:03:41
Victoria es que aunque te parezca una tontería no se donde meter lo que me has puesto, no se donde lo tengo que poner.
Gracias y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por Victoria (1530 intervenciones) el 12/08/2002 22:42:16
Aurora, no te preocupes, enviame por correo la estructura de tu tabla: nombre de campos, tipo de campos y te lo remito con el código en su sitio
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de novatísima sobre reglas validacion

Publicado por Luis Fdo Melo (323 intervenciones) el 13/08/2002 04:30:47
Hola
La respuesta de Victoria, es la manera de trabajar, no existe ning'un tipo de validaci'on en access que te permita hacer lo que quieres, por eso tienes que programarlo, el codigo que te envia Victoria, lo incluyes a\haciendo doc\ble click sobre la caja de texto que tiene el titulo del CD.

Una aclaracion, el titulo del CD es un campo que no se debe modificar por ser llaver primaria, por lo que te recomiento que utilices otro campo como llave primaria, create un IDT autonumerico, y el Campo Titulo lo indexas sin duplicados, de esta manera no tendras problemas para modificar el titulo cuando lo requires, por ejemplo para corregir errores de ortografia..... Adiccionalmente el codigo de Victoria solo funciona bien cuando la propiedad me.newrecord=true, ya que cuando se esta modificando un registro, la consulta puede llegar a encontrar un regitro que es el actual, por lo tanto la consulta debe quedar asi:

select titulo from CDS where Titulo=myTitulo and IDT <> IDT_Actual

Lo demas es correcto....

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar