Ayuda con msgbox

Les cuento un poco, lo que hice es un programa para agregar fichas a un archivo.dat, tiene varios form, (7 creo), anda bien pero se pone insestable ya que a la hora de borrar una ficha, por ejemplo si te confundís y no la encuentra en el archivo dat te manda un error de "no encontrado" y se cierra
errores así por el estilo
lo que quiero saber es como hacer para que en ves de tirarme ese error me salga un msgbox que diga por ejemplo "NO SE ENCONTRÓ" y botón ok, que vuelva a donde estaba y no se cierre
ya se que seria así más o menos
MsgBox "Archivo no encontrado? ",vbOKOnly, "Atencion!!"
Pero no se como hacer para que me salga sin el error...
Ha y otra cosa también con el msgbox, si yo le pongo botones yes y no ¿cómo hago para que con el yes me haga algo y con el no otra cosa?
Por ej
Tengo un botón salir y un msgbox con yes/yno ..
Para que con el yes salga y con el no se quede en el programa
espero haber explicado bien... Gracias!

1 respuesta

Respuesta
1
Para el primer punto (sobre el error), se debe hacer lo siguiente:
Supongamos que tenemos un botón guardar, le ponemos:
On error Goto NoEsta
' Escribes el codigo normalmente.
y luego pones:
[size= xx-small]NoEsta:[/size]
[size= xx-small]if Err.number <> 0 Then[/size]
[size= xx-small]MsgBox "El dato no se encuentra.",VbCritical,"Error"[/size]
[size= xx-small]Text1.Setfocus.[/size]
[size= xx-small]End if[/size]
[size= xx-small]Ahora con respecto a tu otra duda debes realizar lo siguiente:[/size]
En el botón salir colocas:
Unload Me
Y en el evento QueryUnload del formulario colocas:
If MsgBox("¿Seguro desea salir del programa?", vbQuestion + vbYesNo, "Salir") = vbNo Then
   Cancel = True
  ' Y puedes colocar algún otro código que desees para que realice el NO.
End If
If Cancel = False Then
   ' Acá colocas la operación de salida para cuando presionas SI:
  ' Puedes colocar END en caso de que quieras cerrar el programa completo
  ' End
  ' O puedes colocar Unload me en caso de quieras cerrar solo el formulario actual
  ' Unload me
End If
En la parte que dice:
On error Goto NoEsta
' Escribes el codigo normalmente.
y luego pones:
'Falto esto:
NoEsta:
if Err.Number <> 0 Then
MsgBox "No se encuentra.",VbCritical,"Error"
Text1.SetFocus
End if
No se que paso que no apareció esa parte pero bueno acá esta.
Bye.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas