URGENTE SIN SOLUCIÓN: Actualizar llave Principal

TODO_ES_SQL
01 de Febrero del 2005
HOLA MASTER'S DE LAS BASES DE DATOS:
ALGUIEN ME PUEDE DAR UNA SOLUCIÓN URGENTE A MI DUDA?, TENGO UN SISTEMA EN VB6 Y MANIPULO LA BASE DE DATOS EN ACCESS, UTILIZO UN OBJETO ADODC PARA HACER LA CONEXION Y TODO BIEN, PUEDO SELECCIONAR, ELIMINAR, INSERTAR Y ACTUALIZAR UTILIZANDO CONSULTA S SQL, PERO UN PEQUEÑO SIMPLE PROBLEMA, NO PUEDO ENCUENTRO LA FORMA DE ACTUALIZAR LOS REGISTROS CUANDO LA LLAVE PRINCIPAL ES MODIFICADA Y ESA LLAVE YA EXISTE (COMO BIEN SABEN, NO PUEDE HABER DOS LLAVES IGUALES) ASI QUE CON LA CONSULTA:
UPDATE MiTabla SET Llave_Prin='" & TxtLlave.Text & ",Campo1='" & TxtCampo1.Text & "' WHERE Llave_Prin='" & TxtLlave.Text & "'"
LO QUE ME OCURRE ES LO SIGUIENTE:
-SI LA LAVE PRINCIPAL NO LA MODIFICO, NO HAY NINGÚN PROBLEMA, PORQUE SOLO ACTUALIZA LOS OTROS CAMPOS,
-SI LA MODIFICO Y NO EXIXTE, NO ME HACE NADA,
-SI LA MODIFICO, Y YA EXISTE ESA LLAVE, ME MODIFICA EL CAMPO QUE YA TIENE ESA LLAVE.

AYUDA POR FAVOR.....
SALUDOS

emiliomiguez
01 de Febrero del 2005
Si lo que deseas es modificar la clave primaria de una tabla, deberás tener en cuenta lo siguiente:

Antes de la modificación debes realizar una consulta sobre la misma tabla para averiguar si esa clave ya existe. Lo puedes hacer así:
select * from <tabla> where <campo_clave>=<clave_nueva>
Donde <clave_nueva> es el nuevo valor de la clave primaria que quieres.

Si la consulta devuelve registros entonces no puedes utilizar ese valor a menos que elimines el registro que la utiliza.

Espero que esto te sirva.
Salu2.