Hola Javier, Javier Aguado escribió:
Hola. Estoy comenzando a usar OpenOffice y no sé si es a esta dirección que debo dirigir mi duda. Mi duda es la siguiente: Tengo creada una tabla en Base. Cuando la edito -lo que en Access sería Vista Diseño-, no veo como puedo crear un campo nuevo entre dos anteriormente creados. Cuando selecciono una fila -que en modo edición es como se llama a los campos de la tabla- y en el menú contextual pincho insertar fila, me la pone al final de todas los campos que forman la tabla; ni antes ni después del campo seleccionado. Gracias de antemano por la ayuda. Javier.
por defecto, nuevos campos se agregan tras los existentes, existe un pedido para implementar esta característica (RFE 43528 http://www.openoffice.org/issues/show_bug.cgi?id=43528) pero es del 2005 y sólo tiene 2 votos. Para lograr insertar un campo/columna en un tabla ANTES/DESPUÉS de uno existente, debes emplear SQL, en la medida en que lo permita la base de datos (el RDBMS). Las instrucciones SQL se ejecutan en el diálogo del menú "Herramientas" - "SQL". Tras ejecutar el comando, debes seleccionar el menú "Ver" - "Refrescar tablas". Si estás empleando un archivo de OOo Base con la base de datos incrustada/embebida dentro del archivo [es decir, el archivo ES a su vez la base de datos], entonces el RDMS que empleas es HSQLDB (http://hsqldb.org). En este caso, para agregar un campo, debes emplear la instrucción ALTER TABLE, cuya sintaxis encontrarás en http://hsqldb.org/doc/guide/ch09.html#alter_table-section ALTER TABLE <tablename> ADD [COLUMN] <columnname> Datatype [(columnSize[,precision])] [{DEFAULT <defaultValue> | GENERATED BY DEFAULT AS IDENTITY (START WITH <n>[, INCREMENT BY <m>])}] | [[NOT] NULL] [IDENTITY] [PRIMARY KEY] [BEFORE <existingcolumn>]; En su versión más simple, para tu caso: ALTER TABLE <nombre_de_la_tabla> ADD COLUMN <nombre_de_la_NUEVA_columna> <tipo_de_datos_a_almacenar_en_el_campo> [(tamaño[,precisión])] BEFORE <nombre_de_la_columna_existente>; Ejemplo: ALTER TABLE CLIENTES ADD COLUMN EMAIL_2 VARCHAR (50) BEFORE FECHA_NACIMIENTO; Agrega en la tabla CLIENTES el nuevo campo EMAIL_2, antes del campo FECHA_NACIMIENTO; el campo EMAIL_2 almacena datos de tipo VARCHAR, con un tamaño de 50 caracteres. Para evitar errores, puedes pasar los nombres de tablas, campos, etc. entre comillas; pues si no empleas comillas el RDBMS interpreta todo en mayúsculas (si escribes Mi_Tabla, interpretará MI_TABLA, y en tu base datos debe existir una tabla llamada MI_TABLA). Como consejo: prueba/practica en una copia de tu archivo, hasta que logres insertar el campo tal como lo deseas. Saludos Ariel. PD: aprovecho a agradecer a aquellos que se han preocupado por mi ausencia en estas listas; y de paso pido disculpas por no haber podido contestar personalmente; se me han juntado el trabajo, las vacaciones, asuntos personales, tiempo libre dedicado a testear OOo (http://www.openoffice.org/issues/show_bug.cgi?id=92508 http://dba.openoffice.org/servlets/BrowseList?list=dev&by=thread&from=2099228 ); todo junto ha acumulado ca. 700 mails en mi casillas, que no podré contestar. -- Ariel Constenla-Haile La Plata, Argentina [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.ArielConstenlaHaile.com.ar/ooo/ "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]
