Dim strSQL As String
Dim N_1 As integer
N_1 = 3
strSQL = "UPDATE ALUMNOS SET ALUMNOS.N1=N_1"
CurrentDb.Execute strSQL
| |||
Me encanta. Muchas gracias. Llevaba dias probando todas las combinaciones y era la primera vez que entraba en el foro, estoy contentisimo. No será la última vez que abuse de vuestros conocimientos, he hecho un curso de programacion en Access en el aula Mentor y aunque he aprendido cosas, tengo aún muchas lagunas. Muchas gracais y seguiremos en contacto. Juan Fco. |
| |||
A pesar de funcionar bien la instruccion, ahora tengo el siguiente problema: N_1 es el resultado de una operación con otras variables (N_1=(E1+2*E2)/3), si aplico la instruccion SQL anterior con N_1, me sustituye todos los registros con el mismo valor de la expresion N_1 para el registro que estoy usando (cuando en realidad cada registro tiene su valor de E1 y E2), en cambio si aplico la instruccion SQL con (E1+2*E2)/3, cada registro se recalcula para sus valores de E1 y E2, ¿Por qué se asigna N_1 igual para todos los registros aunque tengan diferente E1 y E2?. Gracias |
| |||
Estoy pensando que este problema lo podría solucionar si fuera capaz de aplicar la instruccion SQl solamente al registro activo, pero no sé que sentencia poner en lugar de CurrentDb.Execute strSQL. ¿Se os ocurre algo? |
| |||
Ya, pero como identifico entonces el registro activo si solo tiene tres campos: E1, E2 y N_1, y N_1 es (E1+2*E2)/3. Lo que quiero es que cuando cambio E1 o E2 en un formulario de Access se cambie N_1 a (E1+2*E2)/3, pero cómo identifico el registro actual que es el único que quiero cambiar si E1 y E2 los cambio sobre la marcha. |
| |||
Se me ha ocurrido hacer un campo autoincrementable en la base de datos, llamado Expediente, y así utilizar en WHERE el campo Expediente (que es único para cad registro), pero no sé como asignar el valor del campo a una variable. He intentado esto: Dim Exp as integer Exp=ALUMNOS.EXPEDIENTE pero no funciona, ¿Cómo puedo asignar el valor de un campo a una variable? |
| |||
Bueno, y si no creo un campo nuevo, ¿cómo se os ocurre hacer la consulta para un registro concreto sin que le afecte a los demás?. Os recuerdo que si hago la consulta involucrando a los valores de los campos, funciona bien para todos, mientras que si lo hago con una variable que involucra los valortes de los campos, asigna el mismo valor para todos los registros. No entiendo por qué. |
| |||
Yo tengo una tabla con 3 campos: E1, E2 y N_1. Mediante un formulario introduzco valores para E1 y E2, y automáticamente (afterUpdate) quiero que se actualice N_1 según la siguiente formula N_1=(E1+2*E2)/3, con una instruccion SQL, pero no puedo poner WHERE por que no conozco los valores de ningún campo del registro, puesto que acabo de rellenarlos mediante un formulario. Pueden tener cualquier valor que yo les quiera poner. ¿Cómo puedo hacer para que se actualice solamente el registro activo? |