Actualizar datos con codigo SQL

Hola

resulta que tengo un botón modificar y quiero que al hacer un cambio me lo actualice y estoy utilizando este código.

UPDATE Inscripción;
SET NIE = Thisform.TxtNie.Value,Gra Thisform.cboGra.Value,

Sec = Thisform.cboSec.Value,Tur = Thisform.cboTur.Value,Lec =Thisform.TxtLec.Value

pero me muestra un error y me dice que no encuentra el alias TXTNIE

1 Respuesta

Respuesta
1

Intenta asignando el contenido de los text a variables auxiliares y luego haciendo el update

auxnie = thisform.txtnie.value

auxgra = thisform.cbogra.value

auxsec = thisform.cbosec.value

auxtur = thisform.cbotur.value

auxlec = thisform.txtlec.value

update inscripcion set nie = auxnie, gra = auxgra, sec = auxsec, lec = auxlec

Con eso te deberia funcionar, ahora hay algo y es que con esa instruccion actualiza toda la tabla ya q no le estas haciendo ningun filtro, ten en consideracion eso, suerte

aparte de este código

se utiliza alguna linea de código mas,

porque no me lo actualiza.

Pues es lo que te comentaba, te hace falta un where con una condición para saber el registro exacto que deseas modificar

update inscripción set nie = auxnie, gra = auxgra, sec = auxsec, lec = auxlec where nie = auxnie

Pero también debes analizar algo que no puedes cambiar un campo que sea único porque sino no tendrás como aplicar la condición y creo que de hecho por eso es que no te actualiza, por eso es bueno tener un único campo que te diferencie cada registro y en base a ese campo hacer las actualizaciones o eliminaciones, por ejemplo yo en la tabla inscripción ubicaría un campo secuencia el cual sera un numero único para cada registro y en base a ese campo haría el update ubicando al final where secuencia = auxsecuencia

cree un campo de tipo numérico llamado secuencia y el código siguiente:

SELECT Inscripción
AuxGra = Thisform.cboGra.Value
AuxSec = Thisform.cboSec.Value
AuxTur = Thisform.cboTur.Value
AuxLec = Thisform.TxtLec.Value
AuxSec = AuxLec
UPDATE Inscripción SET Gra = AuxGra, Sec = AuxSec, Tur = AuxTur, Lec = AuxLec;
WHERE secuencia = AuxSec

pero no lo actualiza.

Si te das cuenta el where dice secuencia = auxsec y auxsec le asignas auxlec osea nunca te va a encontrar el registro porque busca un código que no esta, analízalo bien y entenderás lo que te trato de decir, a parte de agregar el campo secuencia pues debes actualizarlo en la tabla y cuando haces clic en un registro pues debes saber cual es el secuencial para que asi puedas modificar, analizalo con calma y me comentas

Este código no actualiza el registro.

SELECT Inscripción
AuxGra = Thisform.cboGra.Value
AuxSec = Thisform.cboSec.Value
AuxTur = Thisform.cboTur.Value
AuxLec = Thisform.TxtLec.Value
UPDATE Inscripción SET Gra = AuxGra, Sec = AuxSec, Tur = AuxTur, Lec = AuxLec;
WHERE Inscripción.secuencia = AuxSecuencia

si actualiza pero dependiendo del valor de AUXSECUENCIA mira para que hagas la prueba y veas que realmente si actualiza pues en tu tabla agrega el valor 200 a uno de los registros en el campo secuencia y en el where del query pon where inscripción.secuencia = 200 y veras que te actualiza la información de dicho registro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas