Continuar código después de cerrar formulario

Tengo el siguiente código

Public Sub Informe_Click()
Dim consultaclientes As String
Dim FiltroSalido As String, FiltroTotal As String, FiltroFecha
If IsNull(Me.cliente) Then
MsgBox "Por favor, diligencie campo CLIENTE", vbInformation, "CAMPO EN BLANCO"
Me.cliente.SetFocus

ElseIf IsNull(Me.Dia_de_Entrega) Then
MsgBox "porfavor diligencie el campo dia de entrega ", vbInformation, "CAMPO EN BLANCO"
Me.Dia_de_Entrega.SetFocus
ElseIf IsNull(Me.Observacion_de_la_Ropa) Then
MsgBox "Por favor, diligencie campo OBSERVACION DE LA ROPA", vbInformation, "CAMPO EN BLANCO"
Me.Observacion_de_la_Ropa.SetFocus
Else
Me.Refresh
DoCmd.OpenReport "tikect", acViewReport, , "idfactura=" & (idfactura) & ""
If MsgBox("Deseas enviar a impresión?", vbYesNo) = vbYes Then
DoCmd.OpenReport "tikect"
DoCmd.OpenReport "tikect2", acViewReport, , "idfactura=" & (idfactura) & ""
If MsgBox("COPIA PARA ACOPLAR", vbOKOnly) = vbOK Then
DoCmd.OpenReport "tikect2"
End If
End If
DoCmd.Close acReport, "tikect"
DoCmd.Close acReport, "tikect2"
DoCmd.Close acForm, "Registro Abonos y Cancelados"
If Not IsNull(Me.cliente) Then
FiltroSalido = "salido = 0"
consultaclientes = "CLIENTE_ID=" & (cliente) & ""
FiltroFecha = "[fecha entrada] <> #" & Format(Date, "mm/dd/yy") & "#"
FiltroTotal = FiltroSalido & " AND " & consultaclientes & " AND " & FiltroFecha

If Salido = -1 Then
MsgBox "Este cliente no tiene recibos Pendientes"
Else
DoCmd.OpenReport "inf clientes", acViewReport, , FiltroTotal
MsgBox "Por favor, Comunique A su cliente si tiene Recibos Pendientes"
DoCmd.Close acReport, "Inf clientes"
If MsgBox("CANCELAR FACTURA", vbYesNo) = vbYes Then
Comando1145_Click
End If
DoCmd.GoToRecord , , acNewRec
Me.Refresh

DoCmd.GoToRecord , , acNewRec

Me.cliente.SetFocus
End If

End If

End If
End Sub

Al dar click en Comando1145 abre el formulario de cancelar factura diligencio los datos pero da error para continuar el código a partir de acá

Comando1145_Click
End If
DoCmd.GoToRecord , , acNewRec
Me.Refresh

DoCmd.GoToRecord , , acNewRec

Me.cliente.SetFocus
End If

End If

End If
End Sub

¿Hay alguna manera de que después de que cierre el formuladio anteriormente mencionado continué el código y termine? Epero me puedan ayudar.

1 respuesta

Respuesta
2

Hernán: Sin analizar el código en detalle, lo que no entiendo es que el Evento

Comando1145_Click >> No tenga los paréntesis de cierre.

Y mas extraño aún veo tanto End If sin If.

De otro lado no sé dónde tienes ese Evento, porque si lo tienes en un formulario cerrado en el Form que has cerrado, evidentemente te dará error.

Concluyendo: Un Formulario "cerrado" no admite eventos, o al menos que yo sepa. Saludos>Jacinto

Hernán: Repasando un poco tu pregunta, si lo que buscaa es abrir un formulario y que el Formulario abierto vaya a un Registro Nuevo, podrías sustituir la línea >>

Comando1145_Click

Por >> DoCmd. OpenForm "NombreDeTuFormulario",,,, acFormAdd

Y te lo comento como ampliación, porque no acabo de entender lo que quieres hacer con esas líneas de >>

DoCmd. GoToRecord,, acNewRec
Me. Refresh

DoCmd. GoToRecord,, acNewRec

Me. Cliente. SetFocus

Estás diciendo que vaya a un Nuevo Registro e inmediatamente a otro nuevo Registro

Mira ésto si quieres:

https://docs.microsoft.com/es-es/office/vba/api/access.docmd.openform 

https://docs.microsoft.com/es-es/office/vba/api/access.acformopendatamode 

Un saludo >> Jacinto

Jacinto te voy ha explicar mejor para ver si me puedes ayudar 

El formulario donde esta el código se llama factura y cuando el código llega a comando1145_click hay le digo que oprima un botón que me abre otro formulario que se llama cancelar factura en ese formulario yo solo pongo el valor abonado o cancelado de la factura y cuando lo sierra la idea es que al cerrar el formulario automáticamente continúe la parte faltantes del código que es esta

DoCmd. GoToRecord,, acNewRec
Me. Refresh

DoCmd. GoToRecord,, acNewRec

Me. Cliente. SetFocus

Y así iniciar una nueva factura pero al pasar eso da error entonces no se que hacer espero me hayas entendido 

De acuerdo Hernán, pero la segunda línea de >> DoCmd. GoToRecord,, acNewRec

¿Qué hace o que pretende hacer? >> Jacinto

Hernán: Independientemente de lo que me contestes, me comentas que abres un formulario para ingresar uno o datos.

Tu mejor que nadie conoce tu estructura, pero si yo tuviera que hacer esa operación y estoy en el formulario de Factura, quizá añadiría esos datos al Formulario e informarlos ahí.

Incluso si no perteneces a la misma Tabla, lo que haría es poner dos controles independientes y actualizar los datos que sean en la Tabla que correspondan.

Bueno ya me comentarás. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas