Access - Detener acción hasta cumplir condición

 
Vista:

Detener acción hasta cumplir condición

Publicado por Angel (20 intervenciones) el 19/08/2006 21:45:10
Como puedo detener la acción de Imprimir hasta que se cumplan todas las condiciones.??

He puesto este codigo del cual saltan los mensajes pero no para hasta que se ejecuta la ultima linea que es para imprimir.

Si alguien me puede ayudar. Gracias amigos


------------------------------------------------------------------------------------------------------


Private Sub Comando93_Click()
'Botón que imprime ingreso pero antes verifica los campos obligatorios

If IsNull(Me.Compañía) Then
Dim MENSAJE As String

MENSAJE = MsgBox("INTRODUZCA COMPAÑIA DE SEGUROS", vbCritical, "ERROR")

Me.Compañía.SetFocus
Me.Comando93.Enabled = False
End If

If IsNull(Me.Medico_Ref) Then

MENSAJE = MsgBox("INTRODUZCA MEDICO DE REFERENCIA", vbExclamation, "ERROR")
Me.Medico_Ref.SetFocus

End If

If IsNull(Me.Ingresada_por) Then

MENSAJE = MsgBox("¿Quien ingresa esta paciente?", vbExclamation, "ERROR")
Me.Ingresada_por.SetFocus

End If

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
'linea que guarda los cambios antes de imprimir.

DoCmd.OpenReport "Informe_obstetricia", acPreview, "", "[Tabla_Obstetricia]![Id_Obs]=" & Me.Id_Obs
'Linea que imprime informe filtrado

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Detener acción hasta cumplir condición

Publicado por theemulator (146 intervenciones) el 20/08/2006 00:24:17
Hola

Una forma facil es colocar Exit Sub
Es te comando hace que se salga del procedimineto actual
Por ejemplo en la primera condicion
quedaria asi

If IsNull(Me.Compañía) Then
Dim MENSAJE As String

MENSAJE = MsgBox("INTRODUZCA COMPAÑIA DE SEGUROS", vbCritical, "ERROR")

Me.Compañía.SetFocus
Me.Comando93.Enabled = False
Exit Sub
End If

Al hacer eso no se ejecutara ninguna de las lineas que sigan

Un concejo mas IsNull indica si el valor de una variable o propiedad es nula

pero cuando se piden datos es recomendable usar trim ya que este quita todos los espacion a la derecha y a la hisquierda ya que si en la caja de texto Compañía se colocan spacion en blanco y nada mas el programa no mostraria error.

Saludos
http://theemulator.tk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detener acción hasta cumplir condición

Publicado por Angel (20 intervenciones) el 21/08/2006 11:12:58
Muchas gracias,

funciona perfectamente con Exit Sub.
Esta condición actua sobre unos campos combinados limitados a la lista.
Me va muy bien.

De todas maneras lo intente con Trim, pero me da errores.
¿ Sería mucho pedir que me colocaras el codigo como tu lo indicas en tu ultimo comentariio? lo pongo abajo para que lo modifiques.

Muchas gracias , Angel

Private Sub Comando93_Click()

If IsNull(Me.Compañía) Then
Dim MENSAJE As String

MENSAJE = MsgBox("INTRODUZCA COMPAÑIA DE SEGUROS", vbCritical, "ERROR")

Me.Compañía.SetFocus

Exit Sub
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detener acción hasta cumplir condición

Publicado por The Emulator (146 intervenciones) el 22/08/2006 02:52:20
Hola

Que bien que te haya servido.

Lo del comentario seria asi:

if Trim(Me.Compañía)="" Then
Dim MENSAJE As String

MENSAJE = MsgBox("INTRODUZCA COMPAÑIA DE SEGUROS", vbCritical, "ERROR")

Me.Compañía.SetFocus

Saludos
http://theemulator.tk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detener acción hasta cumplir condición

Publicado por Angel (20 intervenciones) el 22/08/2006 10:30:36
Lo primero va perfecto pero cuando Trim por Null se lo salta sin mas.

De todas maneras gracias por todo
Un saludo
Angel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar