I'm not too sure of your first question. However, in either case, I think you should change your service information to numeric (0,1,2,3, etc.) so you can do a SELECT statement for your rowsource that will find the MAX() of service. "First", "Second", etc., are strings that will not sort properly. Also, I think you should look for the MAX() of service +1, because if the item was never serviced before, it will not show up at all the way you're doing it, if I understand it correctly.