Hola Karina,

karina Ferreyra escribió:
Hola Soy nuevita en open, cómo se hace para hacer en open lo que en acces se hace como consulta de actualización ? que Crea tablas y suma y resta campos de una misma fila y lo pone en otra en colummna ? Se puede hacer desde SQL ? Con un create ? si es así de dónde saco la sentencia correcta, porque tengo siempre el cartel de error de sintaxis ? gracias

La "consulta de actualización" es una de las (IMHO varias)
*aberraciones* de MS Access.

¿Por qué? bueno ... la explicación es larga y (tal vez) aburrida; pero
basta con buscar en la ayuda de MS Access (2003) "Crear una consulta de
actualización (ADP)", para ver que comienza con una (usual, para MS)
advertencia:

"Precaución: No se puede deshacer la acción de ejecutar una consulta de
actualización. Como medida de precaución, realice una copia de seguridad
de los datos antes de ejecutar la consulta."

Primero, llamar a eso una "consulta" es erróneo, pues en SQL una
consulta (query) es un enunciado o instrucción SELECT, no UPDATE.
[aunque la terminología a veces es ambigua (ambigüedad introducida por MS), hay un acuerdo en general por considerar *consulta* sólo a las instrucciones SELECT, que sólo seleccionan datos, sin manipularlos==modificarlos v. http://en.wikipedia.org/wiki/SQL#Queries]

Segundo, respondiendo a
Se puede hacer desde SQL ? Con un create ?

puedes ver tú misma la respuesta en el ejemplo de la ayuda de MS Access:

"Por ejemplo, la siguiente consulta actualiza la tabla títulos al
agregar un 10% al precio de todos los títulos de un editor:
UPDATE titles
SET price = price * 1.1
WHERE (pub_id = '0766')"
[Copy Right Bill Gates]


Debes emplear una instrucción UPDATE, no CREATE ni SELECT.
Si estas empleando una base de datos que existe dentro del mismo archivo
 de OOo Base, entonces la sintaxis de HSQLDB es estándar:

http://hsqldb.org/doc/guide/ch09.html#update-section

UPDATE table SET column = Expression [, ...] [WHERE Expression];


Tienes varias opciones:

* crear un formulario con controles que te permitan seleccionar en una lista la tabla de la base de datos, luego las columnas/campos que deseas modificar, los criterios, etc. Esto requiere u formulario + macros

* simplemente crear las macros, puede ser con los datos (nombre de tabla, campos, etc.) hard-coded, o empleando alguna función genérica

* lo más simple es ejecutar cada vez que lo necesites los comandos desde el diálogo Herramientas - SQL


Saludos
Ariel

--
Ariel Constenla-Haile
La Plata, Argentina


"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a