Filtering very long lookuplist using string

For a survey about habitat-quality I need to enter the names of all plantspecies found in a plot.
I have a list of all possible plant species in the region, but this is very long: about 3300 names.

Dutch plant name
Gewone zilverspar
Kaukasische zilverspar
Japanse zilverspar
Spaanse aak
Noorse esdoorn
Gewone esdoorn
Gewoon duizendblad
Wilde bertram
Kleine steentijm
Blauwe monnikskap
Gele monnikskap

What is the best way to enter the names, using that long list as a lookuplist?

I tried using a one_select with an external CSV-table which contains all the species, but the user must then scroll through a list of 3300 to find the species he wants to enter.

Is it possible to get a shortlist of the lookuplist by filtering it using a string? So that entering for example the sting “moes” would generate a shortlist of the lookuplist with all plantnames that contain the sting “moes”, regardless of the place of the string in the plantname?

Dutch plant name

You can use 'autocomplete' in appearance column of 'select_one' type question. For example, if you have to look plantspecies starting letter 'b', you just type 'b'. All plantspecies with starting 'b' is sort out. The more letters of name of plantspecies you remember and type, the more faster the name of plantspecies you wish is displayed.
Good luck!

1 Like

Thank you Raj! Can autocomplete be used in combination with an external CSV-table? I understood that large lookup lists are best stored in external CSV instead of in the tab "Choices".

Welcome to the ODK community @BartRoelandt2, don't forget to take some time to Introduce yourself here! - #1186 by Ollylarry

For "auto-complete" functionality over a csv file, the "search()" function works well.
In that showcase ODK to collect species and habitats localities, as pressure and threats to ecosystems we use it to query the national species taxonomy :

And here how it is done in the excel file

As you can see we can have in the same screen the letter input and the proposed list :slight_smile:

You will fin the excel file in the post.

1 Like

Hello Mathieu,
We are using ODK here for a very similar reason!
We want to sample vegetations to measure the quality of Natura2000 habitats.
The only thing that troubels me is a good way to enter the species.
I wil take a close look to your showcase.

And yes - I need to introduce myself :wink:

1 Like

I plan to share some other forms this autumn (plant inventory over a square grid, lagoon water level managment, chemical and physical lagoon water measurement...) . Don't hesitate to share yours :wink:


Yes, I will share the forms, but someone will need to tell me how. Just new here.

I see you form uses "startswith". Is there a possibility to search for a string that is not the beginning of the plant name? Because we are using the local, Flemish, names as the forms need also to be used by non-professionals (and even professionals not always use the scintific plantnames).

Yes you can use the contains "operator" instead of startswith. You will find more information here Looking for an old documentation page about search() function

We try this option to facilitate the use of latin and french name but personally I found it a bit confusing (some colleagues, but not all, like it anyway) and I finally created one entry in the csv file for each language.

Hi Mathieu,
I did receive a mail, but there was no excel attached?
Bart R

Here it is in the showcase :

Hallelujah! It works :crazy_face:

Thank you everyone!

1 Like