[white]
FUNCTION FINDNEXTDATE
PARAMETERS qDate, qDow, qDom
zd = qDate + qDow + 1 - DOW(qDate)
zdat = zd + IIF(DAY(zd + 7) = qDom, 7, IIF(DAY(zd + 14) = qDom, 14, IIF(DAY(zd + 21) = qDom, 21, IIF(DAY(zd + 28) = qDom, 28, IIF(DAY(zd + 35) = qDom, 35, IIF(DAY(zd + 42) = qDom, 42, IIF(DAY(zd + 49) = qDom, 49, IIF(DAY(zd + 56) = qDom, 56, IIF(DAY(zd + 63) = qDom, 63, IIF(DAY(zd + 70) = qDom, 70, IIF(DAY(zd + 77) = qDom, 77, IIF(DAY(zd + 84) = qDom, 84, IIF(DAY(zd + 91) = qDom, 91, IIF(DAY(zd + 98) = qDom, 98, IIF(DAY(zd + 105) = qDom, 105, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 112) = qDom, 112, IIF(DAY(zd + 119) = qDom, 119, IIF(DAY(zd + 126) = qDom, 126, IIF(DAY(zd + 133) = qDom, 133, IIF(DAY(zd + 140) = qDom, 140, IIF(DAY(zd + 147) = qDom, 147, IIF(DAY(zd + 154) = qDom, 154, IIF(DAY(zd + 161) = qDom, 161, IIF(DAY(zd + 168) = qDom, 168, IIF(DAY(zd + 175) = qDom, 175, IIF(DAY(zd + 182) = qDom, 182, IIF(DAY(zd + 189) = qDom, 189, IIF(DAY(zd + 196) = qDom, 196, IIF(DAY(zd + 203) = qDom, 203, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 210) = qDom, 210, IIF(DAY(zd + 217) = qDom, 217, IIF(DAY(zd + 224) = qDom, 224, IIF(DAY(zd + 231) = qDom, 231, IIF(DAY(zd + 238) = qDom, 238, IIF(DAY(zd + 245) = qDom, 245, IIF(DAY(zd + 252) = qDom, 252, IIF(DAY(zd + 259) = qDom, 259, IIF(DAY(zd + 266) = qDom, 266, IIF(DAY(zd + 273) = qDom, 273, IIF(DAY(zd + 280) = qDom, 280, IIF(DAY(zd + 287) = qDom, 287, IIF(DAY(zd + 294) = qDom, 294, IIF(DAY(zd + 301) = qDom, 301, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 308) = qDom, 308, IIF(DAY(zd + 315) = qDom, 315, IIF(DAY(zd + 322) = qDom, 322, IIF(DAY(zd + 329) = qDom, 329, IIF(DAY(zd + 336) = qDom, 336, IIF(DAY(zd + 343) = qDom, 343, IIF(DAY(zd + 350) = qDom, 350, IIF(DAY(zd + 357) = qDom, 357, IIF(DAY(zd + 364) = qDom, 364, IIF(DAY(zd + 371) = qDom, 371, IIF(DAY(zd + 378) = qDom, 378, IIF(DAY(zd + 385) = qDom, 385, IIF DAY(zd + 392) = qDom, 392, IIF(DAY(zd + 399) = qDom, 399, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 406) = qDom, 406, IIF(DAY(zd + 413) = qDom, 413, IIF(DAY(zd + 420) = qDom, 420, IIF(DAY(zd + 427) = qDom, 427, IIF(DAY(zd + 434) = qDom, 434, IIF(DAY(zd + 441) = qDom, 441, IIF(DAY(zd + 448) = qDom, 448, IIF(DAY(zd + 455) = qDom, 455, IIF(DAY(zd + 462) = qDom, 462, IIF(DAY(zd + 469) = qDom, 469, IIF(DAY(zd + 476) = qDom, 476, IIF(DAY(zd + 483) = qDom, 483, IIF (DAY(zd + 490) = qDom, 490, IIF(DAY(zd + 497) = qDom, 497, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 504) = qDom, 504, IIF(DAY(zd + 511) = qDom, 511, IIF(DAY(zd + 518) = qDom, 518, IIF(DAY(zd + 525) = qDom, 525, IIF(DAY(zd + 532) = qDom, 532, IIF(DAY(zd + 539) = qDom, 539, IIF(DAY(zd + 546) = qDom, 546, IIF(DAY(zd + 553) = qDom, 553, IIF(DAY(zd + 560) = qDom, 560, IIF(DAY(zd + 567) = qDom, 567, IIF(DAY(zd + 574) = qDom, 574, IIF(DAY(zd + 581) = qDom, 581, IIF(DAY(zd + 588) = qDom, 588, IIF(DAY(zd + 595) = qDom, 595, 0)))))))))))))))
zdat = zdat + IIF(zdat <> zd, 0, IIF(DAY(zd + 602) = qDom, 602, IIF(DAY(zd + 609) = qDom, 609, 0)))
RETURN zdat
[/white]