Access - Un poco de teoría sql

   
Vista:

Un poco de teoría sql

Publicado por leftad (51 intervenciones) el 16/10/2008 14:28:57
Hola a todos y muchas gracias. Tengo a fin de este mes exámen de SQL por ello mi pregunta. En una muestra de exámen me piden insertar datos a una tabla por medio de un form. En access armo el form con los campos de la tabla, y tengo un botón que al ejecutarlo me debe insertar los datos del form a la tabla.En la teoría dispongo de Insert Into: INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)
VALUES ("valor1", "valor2", ...)
Lo que no sé es cómo escribir los valores del form.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Un poco de teoría sql

Publicado por Chea (1015 intervenciones) el 16/10/2008 16:01:08
El SQL de Access es un poco especial y admite cosas que son poco canónicas.
Por ejemplo, te puedes referir directamente a los controles del formulario usando una sintaxis del tipo:

Forms!NombreDelFormulario!NombredelControl

Incluso, admite funciones VB, no SQL, así, para evitar problemas con los valores nulos, podrías pone dentro de la cadena SQL:

Nz(Forms!NombreDelFormulario!NombredelControl)

Sin embargo, teniendo en cuenta que la consulta SQL es una cadena de texto, quizás para un examen sea más apropiado usar concatenación:
... INTO VALUES (" & Forms!NombreDelFormulario!NombredelControl & "," & Forms!NombreDelFormulario!NombredelControl2....

Como lo habitual es montar esa cadena dentro del propio formulario, puedes referirte directamente al control:
... INTO VALUES (" & me.NombredelControl & "," & me.NombredelControl2....

En un formulario lo corriente sería usar esta última sintáxis para montar la cadena de texto y luego ejecutar CurrentDB.Execute textoSQL.

Échale una ojeada a http://www.mvp-access.es/softjaen/index.htm y a http://www.sqlraipon.blogspot.com/

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar