Como es la sintaxis Insert into?

Tengo una tabla llamada Paciente con su formulario basado en ella, llamado F_Paciente. En el formulario tengo un textbox en el cual el origen de datos es una fórmula que me calcula la edad. Hasta ahí funciona todo bien. El problema esta en que quiero que el valor de ese Textbox (Llamado Edad) se guarde en la tabla Paciente. En la tabla paciente existe el campo Edad, de tipo numérico.

En el generador de códigos del textbox Edad le pongo en "después de actualizar" lo siguiente:

Private Sub Edad_AfterUpdate()

DoCmd.RunSQL "INSERT INTO Paciente (Edad) VALUES (" & Me.Edad & ")"

End Sub

No me funciona, ¿qué puede ser? Revise miles de veces, me parece que esta bien escrito.

Respuesta

Está bien la sintaxis, debe estar pasando que no tiene valor para insertar

2 respuestas más de otros expertos

Respuesta
1

Esteban: Independientemente de la bondad de la línea de código, el tema conceptual es que ese TextBox "No se Actualiza", ya que éste evento lo desencadena el acto físico de meterte en el TextBox y ponerle un nuevo valor o cambiarlo.

Mi sugerencia, es que en éste caso concreto, no necesitas ningún código. Simplemente ponle a ese control el Origen de datos del Campo de la Tabla.

De otro lado, el guardar la edad en una tabla tiene el riesgo de no actualizarse, salvo cuando por Formulario actúe. Es decir que si lo tienes en el evento de actualizar registro, al acceder a él lo hará, pero si hicieras una consulta sobre la Tabla, la edad podría no estar actualizada. Saludos >> Jacinto

¡Gracias! Bueno si al final hice eso Jacinto, le puse el origen del control, el campo Edad de la tabla en cuestión para que el valor se guarde. En mi caso necesito y me sirve que el valor se guarde y quede sin actualizarse porque se trata de la internación de un paciente, entonces me sirve porque veo que edad tenia en tal internación. En el evento "Al activar registro" del formulario, puse la fórmula para que se calcule. Ahora el problema es que el campo se guarda, pero no lo muestra en el formulario hasta que no se guarda el registro. Que evento seria para que actualice y muestre el valor edad calculado, ¿apenas pueda la fórmula calcularlo? Debería escribir la fórmula en el evento del control,¿más que del formulario no?

Esteban: Si no quieres que ese valor de Edad te cambie, la fórmula la has de poner en el Evento Después de actualizar del Control FechaNacimiento. De otro modo, si lo tienes en el Form_Current, cuando entres a ese registro se actualizará la edad. Un saludo >> Jacinto

¡Gracias! Al final claro, hice eso pero en el control donde se pone la fecha de nacimiento, que esta antes del de edad, entonces se rellena el campo edad automáticamente "después de actualizar" el control "fecha de nacimiento".

Respuesta
1

El siguiente video es otra manera de insertar datos(Numero, fecha y texto).

currentdb.execute "Insert into ....."

https://www.youtube.com/watch?v=zmSLysmFpF0&t=124s 

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas