I have events that are being treated differently based on whether or not expenses have 0 attendees.
Each event has a unique code with several expense line items. If the attendee field has ALL 0 for each expense in this event code, then I need to append the method field to say method 1, for each expense with this event code.
If ANY of the line items with the same event code have a 0 but the sum of all of them is > 0 then I need to append the method field to say method 2
If ALL of the line items are > 0 then I need to append the method field to say method 3
Thanks for any help! Sorry for not having more code in this, I am at a loss.
Sample Data:

Advertisement
Answer
Since MS Access does not support aggregation within update queries, one possible alternative might be to use the domain aggregate functions DMin & DMax, e.g.:
update YourTable t
set t.method = 
iif
(
    dmax("attendee","YourTable","EventID = '" & t.EventID & "'")=0,
    1,
    iif
    (
        dmin("attendee","YourTable","EventID = '" & t.EventID & "'")=0,
        2,
        3
    )
)
This assumes that attendee will never be negative.
Alternatively, if you wanted to avoid the domain aggregate functions, you could write the values using three separate update queries – one for each method value:
Method = 1
update YourTable t set t.method = 1 where not exists (select 1 from YourTable t2 where t2.eventid = t.eventid and t2.attendee > 0)
Method = 2
update YourTable t set t.method = 2 where exists (select 1 from YourTable t2 where t2.eventid = t.eventid and t2.attendee > 0) and exists (select 1 from YourTable t2 where t2.eventid = t.eventid and t2.attendee = 0)
Method = 3
update YourTable t set t.method = 3 where not exists (select 1 from YourTable t2 where t2.eventid = t.eventid and t2.attendee = 0)
In all of the above, change all occurrences of YourTable to the name of your table, and the fields attendee & EventID to suit your field names.