Вставить поле в определенной позиции

2671
bignose

В документе LibreOffice Base важна последовательность полей в определении таблицы [0].

Но когда я спрашиваю диалог «Дизайн таблицы», чтобы вставить поле или вставить строку из буфера обмена, он настаивает на том, чтобы поместить новое поле в конец.

Я использую LibreOffice 4.1.4.2.

Как я могу разместить новое поле в выбранной позиции? Как я могу изменить порядок полей в Table Design ?

[0] Я знаю, что в действительно реляционной базе данных поля не имеют специальной последовательности. Но в базовой базе данных последовательность полей сохраняется и важна для представления этих полей в базовом приложении.

7

2 ответа на вопрос

4
W_Whalley

Я не знаю ни одного способа сделать то, что вы хотите, используя диалог конструирования таблицы в OpenOffice / LibreOffice. Приведенный ниже метод рекомендован на нескольких форумах для переупорядочения полей в таблице с использованием встроенной базы данных. Если на вашу таблицу ссылаются ограничения или представления, то они должны быть удалены и перестроены вместе с любыми отношениями.

Скопируйте таблицу, затем выберите Специальная вставка и выберите таблицу источника данных в качестве типа для вставки. Выберите, чтобы скопировать определения и данные. В следующем диалоговом окне «Применить столбцы» перенесите существующие столбцы в новую таблицу в нужном вам порядке. После того, как таблица будет создана для вашего удовлетворения, удалите исходную таблицу и переименуйте новую таблицу с исходным именем.

0

Well, I accidentally solved that problem, by making a "copy" -> "paste special" of the "table" I wanted to rearrange. Then When it asked me how I wanted it copied, I chose "Data source table" -> "as Table View" and then I got a "table2" file which I could "edit" or "edit in SQL view" (I chose the second) and it accepted the reordering of the fields, as I wanted. In the end I just deleted the original "table" file.