Visual Basic - Desea Guardar los cambios, Sí, No, Cancelar

Life is soft - evento anual de software empresarial
 
Vista:

Desea Guardar los cambios, Sí, No, Cancelar

Publicado por Juan Parra (2 intervenciones) el 15/08/2007 17:10:17
Hola a todos:

Alguien sabe, si existe alguna función o bajo que mecanismo puedo (en Form_Unload Cancel As Integer), controlar si el usuario a realizado alguna modificación a los campos en pantalla y que si es así, pueda advertirle; si Desea Grabar o no los cambios detectados o bien sin desea Cancelar la orden de salir?. Actualmente estoy comparando "campo a campo", los campos de pantalla con los del registro involucrado, funciona; pero no es nada práctico.

Si alguien pudiera yudarme

Gracias

Juan Parra
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
sin imagen de perfil

RE:Desea Guardar los cambios, Sí, No, Cancelar

Publicado por P. J. (173 intervenciones) el 15/08/2007 17:59:52
Por tu pregunta dedusco que ya controlas lo del MSJ no?
Osea interrumpes al darle click en la X, seria algo asi
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("Desea Salir", vbYesNo) = vbYes Then
Cancel = 0
Else
Cancel = 1
End If
End Sub

Ya, ahora para lo otro te recomiendo que uses FOR EACH para que alli preguntes si alguno de tus controles involucrados esta VACIO, de ser asi le asignas a una variable ( boolean, creo yo ) el valor true o false , dependiendo como quieras, y preguntar por el estado de esa variable en el evento anterior.

Para el uso de FOR EACH consulta el MSDN, o GOOGLE o si estudias a TU PROFE para eso esta!
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:Desea Guardar los cambios, Sí, No, Cancelar

Publicado por Carlos (125 intervenciones) el 15/08/2007 18:52:51
yo lo haria así

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Select Case MsgBox("¿sales?", vbQuestion + vbYesNoCancel, ETQ)
Case 6
'lo que tengas que hacer para salvar y salir
Case 7
'lo que tengas que hacer para salir sin salvar
Case 2
Cancel = True
End Select
End Sub
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:Desea Guardar los cambios, Sí, No, Cancelar

Publicado por Juan Parra (2 intervenciones) el 16/08/2007 06:31:39
Gracias por la ayuda. Lo del Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) me quedó super claro.

Respecto al procedimiento de cómo controlar si algún campo fue modificado por el usuario antes de salir, aún no sé como podría hacerlo. Si alguien pudiera ayudarme...


Juan Parra
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
sin imagen de perfil

Ver si cambio algo

Publicado por P. J. (173 intervenciones) el 16/08/2007 19:24:47
Salu2 Juan,
como te comente antes, lo que tu quieres es que te controles como el Word, osea cuando modificas el Word te dice SU DOCUMENTO A SIDO MODIFICADO, DESEA GUARDAR LOS CAMBIOS?, para hacer eso debes tener una variable general de tipo boolean, y cuando el usuario modifica un texto (evento Text1_Change) tu seteas el valor de esa variable a true. Y ya al cerrar el form preguntas si tu variable es true entonces lanzas el mensaje.

Yo hice un mini editor de texto y tambien debia de controlarlo de esa forma. Sihay otras respuestas estare atento a leerlas.
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