I can only think of a roundabout way of doing this, but it may get you started. It needs 2 queries --
qryFirst has [MyDate] from the same record source as the form, and a calculated field =DatePart("ww",[MyDate]).
In the Criteria row below the calculated field, put DatePart("ww",[Forms]![MyForm]![MyDate]).
At this point you have all records with the same start week as the current record.
qrySecond has qryFirst as its record source. Place the calculated field on the grid, press the Totals (sigma) button on the toolbar and select Count as the summary function.
Now you have a single field that counts all records with the same start week as the current record. Name this field Tally.
Back to the form. New textbox, with the controlsource =[qrySecond]![Tally]. Call this Counter. Check it out to see if it runs.
Validation: You have 2 options.
(1) At form level, you enter an expression which prevents you from saving a record if the new textbox is >5.
(2) You create another textbox, formatted to be flat, with the same background as the form, with bold red text. This can have whatever message you want. Call this Warning. Now to create some code to drive it. In the Form properties, click the Events tab. Double-click the BeforeUpdate event, then click the ... button at the end of the line to go to the code module. Enter this:
Code:
If [Counter] <=5 Then
[Warning].Visible=False
Else
[Warning].Visible=True
End If
Put the same code in the OnCurrent event of the form.
You'll need to change field, query and form names to suit.
Denis