Help

Past/taken dates hide/not show

2503 5
cancel
Showing results for 
Search instead for 
Did you mean: 
Philipp_Maslenn
4 - Data Explorer
4 - Data Explorer

I’m trying to create a form for people to submit.
It has starting date, is there a way to hide/not show past dates?

5 Replies 5

I’m not exactly sure of your question — could you expand on it a bit?

I think he’s referring to a constraint on the Date field to only allow form users to enter current and future dates, no historical dates — which I don’t think is possible with Airtable’s vanilla forms.

There may be an integration form service that would allow that, though.

@Julian_Kirkness seems to be a resident expert on sundry integrations; perhaps he’ll know of one.

you got it quite right,
just as an example, for instance I have a form that has 3 fields: appointment date, name and phone.
I share that form, somebody fills it and I have a list of all the data.
But, if I use single select field for the date - that allows people to submit form with past dates, if you manually delete past dates - that deletes the date from the previous records.

One possible approach would be to use two fields: a {DateEntry} single-select field from which the user chooses an appointment date and a {PermDate} date field that holds the requested date permanently. {PermDate} is populated outside the normal Airtable process flow, either manually or by such third-party middleware as Zapier, Integromat, or IFTTT.

Actually, I’d recommend doing so manually, as there is no compelling reason for records to be updated individually, in real time. One can batch-update an unlimited number of records manually with three mouse clicks and two keystrokes; the only limitation is that it must be done prior to the single-select being reconfigured to eliminate past dates.

To update a batch of records manually:

  1. Select the {DateEntry} field in the top-most row with no {PermDate} defined.
  2. Scroll to the bottom of the table and, while holding down the Shift key, select {PermDate} in the table’s bottom most row. ## cells selected appears in the lower lefthand corner of the base.
  3. Press Ctrl-C to copy the selected cells; `## cells copied’ pops up in the lower lefthand corner.
  4. Select {PermDate} in the topmost row for which {PermDate} is empty.
  5. Press Ctrl-V to paste the {DateEntry} values into {PermDate}.

This would only need to be done immediately prior to reconfiguring the single-select field. To simplify performing any other calculations or displays that draw upon the requested appointment date, you could create a third field, {ApptDate}, a formula field containing this formula:

IF({PermDate},{PermDate},DATETIME_PARSE({DateEntry,'M/D/YYYY'))

This will allow any calculations using the date to continue uncorrupted even after the single-select has been changed.


A note on sources: I largely plagiarized myself from this reply, which uses many of the same techniques, albeit for a different purpose. You can find example code — and perhaps a more-eloquent description — in that reply and the base it references.

Thank you!

I ll try to set it up, hope it works.

Appreciate your help.