creo que porque despues de cerrar el rs1 haces otra operacion con el en otro contexto que es el del boton que llamas "guardar"
   Cita:  Command4_Click
Call Asignar_Datos
rs1.Update
MsgBox " Registro guardado", vbInformation, "Grabar"
Command4.Enabled = False
End Sub
    es decir primero llamas a la funcion Asignar_Datos y ahi, al final, imagino que pones el rs1.close, pero si te fijas al terminar el contexto de la funcion haces uso del rs1 con rs1.Update, trata de hacerlo todo en un solo procedimiento y paso por paso.
si es que sirbe de algo hay una forma de escapar de los errores 
 tienes que utilizar: 
"On Error resume next" 
antes de donde ocurre el error, o al inicio de todo,