Foros del Web » Programando para Internet » ASP Clásico »

Modificar un registro sin que se duplique

Estas en el tema de Modificar un registro sin que se duplique en el foro de ASP Clásico en Foros del Web. Buenas tardes. Tengo una tabla de una base de datos access con sólo dos campos, IdCosa y Cosa, el primero numérico y el otro en ...
  #1 (permalink)  
Antiguo 26/06/2004, 15:44
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Modificar un registro sin que se duplique

Buenas tardes.

Tengo una tabla de una base de datos access con sólo dos campos, IdCosa y Cosa, el primero numérico y el otro en formato texto; IdCosa es la clave principal.

Me surge un problema al tratar de modificar el registro porque al ingresar el mismo IdCosa me estaría duplicando, y esto no puede suceder.

Como hago para validar que no sean registros duplicados, siendo posible modificar los campos IdCosa y Cosa, pero que ni Cosa ni IdCosa existan ya en la base de datos.

Gracias por la atención prestada.
  #2 (permalink)  
Antiguo 26/06/2004, 18:11
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
Tendrìas que trabajarlo asì:
--> Verificar que la informaciòn contenida en la base de datos no existe
strsQL =" select * from tabla where COSA ='"& valorCosa &"' and IDCOSA ="& idCosaOriginal &"

---> If rs.eof then 'NO HAY COINCIDENCIAS
procedimiento_insercion_datos
else
'HAY COINCIDENCIAS NO REALIZAR INSERCION DE DATOS
procedimiento_auxiliar_no_insercion
end if
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #3 (permalink)  
Antiguo 26/06/2004, 22:36
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Ya lo he hecho así y pueden suceder dos cosas al momento de guardar, así:

1. Tengo registros de la siguiente forma:
IdCosa Cosa
40 Cuaderno
84 Lapiz
10 Libro

Cuando modifico el registro con IdCosa 84 y lo modifico colocandole IdCosa=40 lo deja duplicar y no debería ser así.

2. Lo segundo que podría pasar es que siempre que intentara modificar un registro no me lo dejara guarsar porque siempre encontraría coincidencia, de IdCosa u Cosa. Esto cambiando el Abd por un Or en la consulta SQL.

Como la ven ahora.
  #4 (permalink)  
Antiguo 26/06/2004, 22:43
Avatar de Miguel Delgado  
Fecha de Ingreso: marzo-2004
Ubicación: Barranquilla
Mensajes: 130
Antigüedad: 20 años, 3 meses
Puntos: 0
coloca idCosa como llave primaria, una llave priaria nunca la puedes modificar!, o simplemente colocal SIN DUPLICADOS, en las propiedades de ese campo en vista diseño
Creo q es un problema de teorico.
__________________
Fox Mulder

El destino es el que baraja las cartas, pero nosotros somos los que jugamos. :pensando: :pensando:
  #5 (permalink)  
Antiguo 27/06/2004, 07:09
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
Exclamación

Digo, por allí hubieramos empezado, exactamente, el campo IDCOSA es llave primaria porqued ebe ser el identificador uniquívoco de cada registro que tengas y por ende NO DEBE SER MODIFICABLE, de otra manera, tu llave primaria no debe ser IDCOSA sino otro campo que debe permanecer tal cual.
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #6 (permalink)  
Antiguo 27/06/2004, 11:31
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
IdCosa es la clave principal, y está indexado por este campo y sin duplicados. Cabe anotar que la base de datos no la puedo modificar, debo trabajar con esos valores obligatoriamente.
  #7 (permalink)  
Antiguo 27/06/2004, 16:18
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
ok, ok, pero debes partir que IDCOSA no puedes modificarlo, si lo haces le das en la torre a las reglas de la normatividad de Bases de Datos Relacionales.
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #8 (permalink)  
Antiguo 27/06/2004, 16:43
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Sí, he decidido no permitir que el usuario modifique el campo IdCosa, ya con esto el problema queda solucionado.

Gracias a Atonovich y a Miguel Delgado por su ayuda.
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 18:57.