Field Sugar is a text type, not number. For some reason Access is casting the text to number for rptAll but fails for rpt3Months. Copying rptAll and changing RecordSource does work. So, possibly rpt3Months is corrupted.
I agree, 1 report object should serve both outputs. Not showing Weight field on rptAll.
Docmd.OpenReport "rptAll", acViewPreview, , "EnterDate Between #8/21/2019# And #11/30/2019#"
Dynamically build filter criteria with VBA. User would enter date range into unbound controls on form. Review http://allenbrowne.com/ser-62.html
Might want to rename tlbMain to tblMain.