First, you don't need two tables. Delete the one with the date.
Then, in the first table with the 3 fields, create a global date field. (To make it global, double click it after making a date field, then go to the storage tab and check the option to make it global, let's say it's called "gSelectDate".) Then, make another global field, say called "gCurrentDate".
Then, make a relationship by doing the following:
Go to the manage database menu item > relationship graph.
At the bottom left, click the plus sign and create another "instance" of the same table. NOTE: you are not duplicating the table, you are just making a second instance of it. This is why you don't need another table. This is called a self-join.
Now, link the two tables so that the date field in table2 is lesser than or equal to the gCurrentDate field and greater than or equal to the gSelectDate field (or strictly greater than, lesser than, as needed).
Now you need to set the value of gCurrentDate.
Create a script that sets gCurrentDate with this calculation: Get(CurrentDate).
Now, go to file > file options
And set this script to run at file start. This will set the global every time you open the file to today's date.
Then, create your portal to view the data from this relationship, which you can do on a new layout if you like.
Finally, close your file and open it again so that the script will run and you should be all set.
DOWNLOAD THIS LINK FOR A SAMPLE FILE:
Set Field [ Maintenance schedul::Maintenance Date; Maintenance schedule::Maintenance Date >= Get (CurrentDate ) and MAintenance Schedule::Maintenance Date <= $$unit]
This should be:
Set Field [ Maintenance schedule::Maintenance Date ; Get (CurrentDate ) & ".." & $$unit]
If you use a global field to get user input, you don't need the variable (which could be local anyway).