How to set up a set of tables with multiple tables for multiple animals

I am new to Grist. I actually have a small goat registry and wanting to set up sets of tables under one common main heading. To be honest I’m a bit over my head..

Example →
Every goat has a set of tables under a main table type called Journals. Here is how it works on my current Desktop software:
Journal [tables]
[sub-journal tables below]
Transfers & Registration Certificate Nos
Questions & Concerns
(sometimes I create a new Journal category)

Sooo… Each goat has their own set of Journal entries.

As I create my set of grist tables, then I will upload csv from my current desktop software. I’m at as to exactly do this:

  • How to create a set of Journal [table) and then the Journal [sub-tables}
  • Link those tables and subtables to the specific goat who is in my database.

Can someone help? Is there a widget or anything or some easy and good way to accomplish this?

there is only one GOAT, Messi :smiley:

Seriously, can you post a screenshot of your current software?

I am a bit confused because you talk about two tables with the same name (Journal or Journals)

And you didn´t mention any table called Goats.

I suppose the main table should be called Goats.

You link tables by using the setting columns as REFERENCE. Then you select what table and column that column references.

Transfers & Registration Certificate Nos
This table should have a reference column where you will choose a goat.
So every new entry in this table will reference a specific goat.
We call this a 1-n relationship. 1 record from the Goat table references n (multiple) certificates.

You will ask me… so each time I create a new certificate, I need to select a goat?

NOPE :slight_smile:

When you create a table in Grist, it creates automatically a VIEW (or page) for that table (a link on the left menu) with a TABLE WIDGET.

Even if you delete the table widget and let that view blank, the table was already created, you are just not seeing it anywhere until you include a widget (table, card, etc) for it.

Anyway, you can now include multiple widgets at the same “view”. For example, you can go to the Goat Page which has the table widget occupying the whole screen.

Then you go to the PLUS sign on the top left and include a new widget at the same view.

Then you can select the type of widget (I would suggest a CARD LIST), on the right of the type of widget, select the table (the Certificates table) and on the bottom left of the same window, you can tell what that widget will be SELECTED BY. Select “GOAT” table.

What happens now, is that as you select a different goat on one table, the other widget (we used a card list here) will be FILTERED by the goat on the table. Remember, the certificate table has a column with a REFERENCE to each goat. So it will be filtering that card list based on each goat was selected for each record of the certificate table.

So you select Goat Mary-Bahhh, only the certificates where the REFERENCE column was set as Mary-Bahh will show on the Card List.

But better than that. You want to include a NEW certificate for Mary-Bahh. You don´t need to go to the certificates table, include a certificate then select Mary Bahh from your list of goats on the reference column.

From the Goat view which also has a certificates card list widget, after selecting Mary Bahh and seeing all it’s certificates, you can select an empty record below those certificates and START typeing.

Immediatelly it will create a NEW CERTIFICATE RECORD ALREADY referencing Mary Bah. (typically, one would hide the reference column from the card list, since it’s already linked to the goat table in the same view, but if you leave it showing, as soon as you start typeing the new certificate, the REFERENCE COLUMN will automatically show Mary Bahh.

to help you better, I need to first understand why the main table is called Journal instead of Goats.

What is the content of the Journal Table?

Anyway, how many sources each goat have?
Anyway, how DNA records each goat have?

As for Offspring… as the offspring will be OTHER goat, it seems to me this should be done by adding a FATHER and MOTHER column to the goat table itself.

Both columns would be REFERENCE type column, to the Goat Table itself.

by the same method I described in the previous post, you would have TWO goat tables in the same view… but one of the widgets (using the same table) would be renamed (you are renaming the widget, not the table) “OFFSPRING” and it would be selected by the main goats table.

So, when you select the goat on the left, the OFFSPRING widget shows only goats which have as “PARENT” the goat you selected.

This creates a problem however, maybe someone else can help. Each goat has two parents, if you have two reference columns (mother and father) not sure it will show based on which column is referenced.

EDIT: ok, what you need to do in THIS case, is set the colum to REFERENCE LIST instead of “REFERENCE”, and then name the column as parents.

So to each goat, you will select two other goats as parents in the same reference list column

Then the SELECT BY works…

Notice that if I select John Horns or Mary Bahhh, the two offspring appear there

selecting any other goat in the list, shows nothing on the right, because only John Horns and Mary Bahhh are selected as parents of any goat.

Thank you both. I have to head to work soon. After I get home, I will post an example.

There are actually 3 main tables in my database with Kintraks (desktop software) or any DNA Registry. I just didn’t mention them, in my query, because I figured once I master the link of the Journal tables, then I would have no problem with I work with the larger MAIN tables below. Here are the MAIN tables I use:

  • Animal Table

  • Contact Table (re: member and non-member list)

  • DNA Table

Let me read both of your messages, to follow what you are saying. I have a complete diagram of what the Kintraks software does. It is one of the best desktop software I’ve ever used, but… its not Online and there are a couple of other things it won’t do.

for the Offspring Table, it is simply a quick like.

Yes, the offspring are added when we attach the offspring to its parents.

My questions will make sense once I explain more. The Journals are key REFERENCE Tables to the Goat Table. The journals give:

  • Why the animal record was created and what creditials for its entry
  • Quick Offspring refernece

An animal registry is much the same as human genealogy, if done correctly. Thus the Journal Entries.
My desktop software works perfectly, except it is missing a few key software. So basically I have to kind of duplicate my desktop software on Grist. Then add the online aspect of Grist, Roles for the database usage, and the templates. Then I’m good.

My question on Journals was just to help get me started on creating linked tables and to be able to move specific goats to the table I need.

Creating the Goat table and Contact Table are the easy part. Import my csv from my Desktop software. thart’s the easy part. LOL.

Gotta run. Thanks so much! I’ll get back to you both or whomever wishes to post help. Appreciate you all.

My question on Journals was just to help get me started on creating linked tables and to be able to move specific goats to the table I need.

did my explanation help with that?


I believe so. I so appreciate it. Let me read very carefully what you wrote and I will get back to you. Many thanks!