Visual Basic - CancelError no me responde

Life is soft - evento anual de software empresarial
 
Vista:

CancelError no me responde

Publicado por nestor (94 intervenciones) el 22/10/2004 20:47:49
Estoy utilizando el control Commom Dialog para guardar un archivo tipo *.mdb
Mi problema es el siguiente, cuando se activa el boton de Cancelar en el Common Dialog, supuestamente:

CDC.CancelError = True

Pero no me esta dando esa respuesta, sino que se mantiene en False.

A que se debe que al activar el boton Cancelar, la accion CDC.CancelError se me mantiene en False, que lo que necesito es un True.

O sera que estoy utilizando otra propiedad???

Muchas gracias!!
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:CancelError no me responde

Publicado por miguel (1042 intervenciones) el 23/10/2004 00:01:53
Si, tu Instruccion es correcta solamente te hace falta poner un On Error GoTo cError....ejemplo:

Private Sub CmdAbrir_Click()
On Error GoTo cError

With CommonDialog1
.MaxFileSize = 32000 'this will max out the buffer for the filenames array for large selections. *NEW*
.CancelError = True 'if cancel is pressed, the code jumps to cError because of the On Error statement above
.Filter = "All Files *.*/*.*"
.Flags = CD_FLAGS 'this is where we tell it to use multiselect
.ShowOpen
End With
Exit Sub
'Si presionas cancelar muestra el mensaje
cError:
Beep
MsgBox Err.Description '*NEW*
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:CancelError no me responde

Publicado por Ruri (583 intervenciones) el 23/10/2004 02:31:52
Nestor: CancelError funciona así, cuando está establecida a True y presionas Cancelar se produce un error que puedes interceptar. Suelo utilizar los CommonDialogs Abrir y Guardar de esta forma:

On Error GoTo Salida
With CDG
.CancelError = True
.DialogTitle = "Replica de la base de datos"
.Filter = "Bases de datos Access (*.mdb)|*.mdb"
.Flags = cdlOFNExplorer Or cdlOFNLongNames Or cdlOFNOverwritePrompt
.InitDir = CurDir$
.ShowSave 'Si se presiona cancelar, se produce un error y ya a la etiqueta salida, lo mismo pasa con otros errores, como disco lleno, etc
MsgBox .FileName
End With
Exit Sub
Salida:
'Si se cancela, no hay mensajes de error, caso contrario sí
If Err.Number <> cdlCancel Then MsgBox Err.Description

Saludos Ruri
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:Hey Ruri eso ya se puso no ves o que???

Publicado por [email protected] (36 intervenciones) el 23/10/2004 02:45:39
Hey Ruri eso ya se puso no ves o que???....no pongas lo mismo que ya se respondio, existen otras preguntas por contestar.
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:Hey Ruri eso ya se puso no ves o que???

Publicado por Ruri (583 intervenciones) el 23/10/2004 02:51:04
Me tiene sin cuidado tu opinión. Vos respondele a quien quieras, yo hago lo mío. Como te dije en tu post anterior respondo lo que me viene en ganas y punto. En ves de quejarte da la cara y comenzá a ayudar a los demás.

Ruri
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