Accade in quanto la funzione o metodo che usi [DoCmd.Runcommand AcCmdPrint]agisce sull'Oggetto attivo ed evidentemente è la Form.
Quindi prima devi ridefinire l'oggetto da stampare e lo puoi fare con il metodo SelectObject
Sub SelectObject(ObjectType As AcObjectType, [ObjectName], [InDatabaseWindow])
Membro di Access.DoCmd
di fatto avrai
DoCmd.SelectObject acReport, "NomeTuoReport"
DoCmd.Runcommand AcCmdPrint