Ms access 如何在Access 2010中迭代表

Ms access 如何在Access 2010中迭代表,ms-access,ms-access-2010,Ms Access,Ms Access 2010,我想迭代我的付款表中的行。用户选择了要预订的月份和年份,我想在每个原始数据中检查这所房子是否是今年和月份预订的。我想比较一下 HouseID == chosenHouseID && BookingMonth == chosenBookingMonth && BookingYear==chosenBookingYear. 如果这是真的,它应该弹出一个信息框,里面有房子本月已经预订的信息。此外,如果用户选择了一个月以上,即nummonth为3,则应增加该月

我想迭代我的付款表中的行。用户选择了要预订的月份和年份,我想在每个原始数据中检查这所房子是否是今年和月份预订的。我想比较一下

HouseID == chosenHouseID && BookingMonth == chosenBookingMonth &&     
BookingYear==chosenBookingYear.
如果这是真的,它应该弹出一个信息框,里面有房子本月已经预订的信息。此外,如果用户选择了一个月以上,即nummonth为3,则应增加该月的值(即文本),并应转到下一个值(如果没有下一个值,则应执行mod 12),然后再次执行检查。可能需要将BookingMonth的数据类型切换为数字

然而,我希望我清楚我想做什么。我有Java、C、Python和VisualBasic方面的经验,但我在Access方面做得不多,所以它非常混乱。我找不到任何有用的信息如何执行此操作。请就我的问题给我建议


谢谢

是的,您肯定应该将[BookingMonth]存储为数字。从长远来看,将“月”列保留为文本将是一件麻烦事,因为“八月”
endOfBookingYear = Year(DateAdd("m", numberOfMonthsToBook - 1, DateSerial(chosenBookingYear, chosenBookingMonth, 1)))
endOfBookingMonth = Month(DateAdd("m", numberOfMonthsToBook - 1, DateSerial(chosenBookingYear, chosenBookingMonth, 1)))
BookingYear & "/" & Format(BookingMonth, "00")
SELECT * FROM Payment
WHERE HouseID = chosenHouseID AND
    (
        (BookingYear & "/" & Format(BookingMonth, "00"))
            BETWEEN (chosenBookingYear & "/" & Format(chosenBookingMonth, "00"))
                AND (endOfBookingYear & "/" & Format(endOfBookingMonth, "00"))
    )