Título: Como actualizar filas que contienen la misma id? Publicado por: Bardick en 14 Mayo 2010, 02:08 am Hola,tengo una tabla de la base de datos acces como el siguiente esquema:
id codigo ---- ------- 1 100 1 200 Se podria actualizar una fila en concreto sin que afecte a las demas? Este es el codigo que utilizo: Código: sql = "Update tabla1 set codigo=1 where id=1" El problema es que me actualiza todas las filas que contienen la id=1 con el mismo valor. Las id's no las puedo cambiar porque estan relacionadas a otra tabla. PD: Espero haberme explicado bien :xD Título: Re: Como actualizar filas que contienen la misma id? Publicado por: Shell Root en 14 Mayo 2010, 02:47 am De poderse realizar, supongo que si, pero porque tienes el mismo ID dentro de la misma tabla, leete sobre normalización de base de datos, tienes un grave error.
Título: Re: Como actualizar filas que contienen la misma id? Publicado por: MCKSys Argentina en 14 Mayo 2010, 05:05 am Coincido con Alex@ShellRoot.
Ahora, quizás podrías agregar algún otro campo al SQL para diferenciar uno del otro. (Aunque si lo piensas bien, si la suma de esos 2 campos te permite hacer una clave única, convendría definir la misma como clave primaria :) ) Saludos! Título: Re: Como actualizar filas que contienen la misma id? Publicado por: ^Tifa^ en 14 Mayo 2010, 05:32 am No he visto la estructura del esquema pero, segun lo que el menciona aca no tiene pinta de datos redundantes sino relacionales entre distintas tablas mediante el campo ID :rolleyes: lo cual no se sale de la normalizacion.
Te recomiendo que leas sobre TOP en SQL Server... si fuese MySQL usase la clausula LIMIT 3,4 donde el 3 indicaria el indice de la fila por donde empezar a leer el arreglo y 4 pues la siguiente data o el siguiente indice... los registros en los campos son arreglos se acceden a ellos mediante un indice. Yo no se lamentablemente como funciona la clausula TOP en SQL Server pero, mira ver si puedes hacer lo msimo con esta como hacen con LIMIT de MySQL especificarle desde que indice hasta que indice leer (actualizar) en este caso. BTW.... Otra forma, si quieres actualizar todos los campos codigo que sean igual a 200 (por ejemplo) en vez de filtrar por ID filtrate por campo asi: Código
Si son varios campos: Código
Y si quieres optimizar la consulta (No se si funciona en SQL Server ) pero: Código
Sino funciona, pues: Código
Agur... ;) Título: Re: Como actualizar filas que contienen la misma id? Publicado por: Bardick en 15 Mayo 2010, 03:16 am Bueno,al fin pude conseguirlo :),pude solucionarlo creando una columna autonumerica para que cada fila fuera distinta.
Pongo el codigo final de como me a quedado por si alguno le puede servir: Código: rs.open "Select id,id_2 From tabla1 where id='1' 'Seleccionamos todos los registros que contengan id=1 Gracias por responder, igualmente mirare eso del TOP que dices ^Tifa^ pero desconozco si se puede utilizar con visual basic... Título: Re: Como actualizar filas que contienen la misma id? Publicado por: Shell Root en 15 Mayo 2010, 06:21 am xD, lo del TOP es en el SQL Server xD
:http://technet.microsoft.com/es-es/library/ms189463.aspx |