3

У меня есть встроенная база данных в Libre Office. Я строю в нем форму и попал в проблему.

У меня есть таблица "Автор" и другая таблица "Публикация", связанная третьей таблицей "AuthorsAndPublications" (это отношение m:n). Я хочу создать форму, основанную вокруг таблицы "Публикация", но она должна показывать всех авторов текущей публикации в не редактируемом списке.

отношения форма

В качестве источника данных для списка, я написал запрос SQL

SELECT "Author"."Surname" FROM "Author", "AuthorsAndPublications" WHERE "AuthorsAndPublications"."FK_Author" = "Author"."ID" AND "AuthorsAndPublications"."FK_Publication" = :publicationid

Теперь я хочу, чтобы параметр публикацииid автоматически имел значение поля txtPublicationID, которое находится в той же форме, что и мой список. Итак, когда форма открыта и показывает публикацию с идентификатором 1, в списке должны отображаться авторы публикации 1, тогда при переходе к следующей публикации авторам должны быть показаны авторы следующей публикации.

После поиска документации и примеров я не смог найти хорошее описание объектной модели Libre Office. Я не нашел пример, касающийся моего случая, но, увидев похожие, лучшее, что я смог придумать, было:

SELECT "Author"."Surname" FROM "Author", "AuthorsAndPublications" WHERE "AuthorsAndPublications"."FK_Author" = "Author"."ID" AND "AuthorsAndPublications"."FK_Publication" = [ThisDatabaseDocument.FormDocuments.GetByName("PublicationForm").GetByName("txtPublicationID").currentvalue]

Но этот запрос не работает, я получаю только ошибку "Синтаксическая ошибка в выражении SQL".

Как правильно ссылаться на значение текстового поля в источнике данных для списка?

0