Data entry form with many-to-many relationship

I’m preparing a dictionary for small languages (let’s say Klingon in this example). I want the entry structure to look like this:

ENTRY
headword [search term in English] “beat”
-gloss 1 [explanation of headword] “rhymthic pulse”
–Klingon translation 1 [translation of gloss] “khakh’enfrg”
—English example 1 [example phrase in Eng]
—Klingon example 1 [example phrase in Kl.]

—English example 2 [example phrase in Eng]
—Klingon example 2 [example phrase in Kl.]

–Klingon translation 2 [translation of gloss] “4twgrg”
—English example [example phrase in Eng]
—Klingon example [example phrase in Kl.]

-gloss 2 [explanation of headword] “hit, strike”
–Klingon translation 1 [translation of gloss] “iuhyfgh”
—English example [example phrase in Eng]
—Klingon example [example phrase in Kl.]

Each headword can have many glosses.
Each gloss can have many Klingon translations.
Each translation can have many examples.
Each set of data needs to be kept in its own table.

I have attached a file with a simplified example database. Firstly, can someone tell me if this structure is correct? This is the first time I’m dealing with databases.

The problem I’m having is setting up a data entry form. I would like to be able to see the whole dictionary entry structure on one form and for it to display the data associated with each related table. I would like to be able to enter data on this form for each table. On the attached file is a rough mock-up of the form with none of the linking done.

With linear one-to-many relationships I can get this to work, but this brings other problems. Is what I’m attempting here possible in LO?

Any help much appreciated.

Version: 24.8.5.2 (X86_64) / LibreOffice Community
Build ID: fddf2685c70b461e7832239a0162a77216259f22
CPU threads: 12; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Vulkan; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded

Klingon.odb (12.4 KB)

Klingon.odb (22.1 KB)

Main form: Gloss (or Klingon)
Sub form: Mapping table
Subform listbox: Klingon (or Gloss respectively).

1 Like

I see how that works. I’ll see if I can make that work for me.

I read somewhere that Access handles these relational tables automatically. Do you know if this the case? I don’t think I’ll be forking out for it in any case.

Your help is deeply appreciated. Thank you.

The Evils of Lookup Fields in Tables

I have a sample form in odt (opens in Writer) that does something similar to your request. With a mainform and two subforms based on a seperate registered odb I conveniantly renamed “Klingon”. The odb table relations are shown here:


The sample odt is here:
Translate.odt (54.8 KB)

  • You may need to build a new form in your odb by creating and then editing a blank form in the odb. Open the new odb form to edit.
  • Open the odt “Translate” form and place it in edit mode by clicking menu Form / Form Edit.
  • Copy and paste all of the odt “Translate” form controls over to the new odb form being edited.
  • Save form and odb! Modify your tables to match the new odb form (as in the attached table relationships), or vice versa! Good luck.