Problemas a salir de una Form
Publicado por Antonio (93 intervenciones) el 22/04/2009 16:02:03
¡¡He encontrado una solución al siguiente problema expuesto anteriormente!!
Con las teclas INTRO y ESCAPE en el evento del DataGrid DGPro_KeyDown, me da error,
al llegar al End Sub (detectado paso a paso), saliendo la siguiente ventana titulada “Visual Basic”, diciendo:
Visual Basic ha detectado un problema y debe cerrarse.
Si está en pleno proceso, puede perderse la información con la que esté trabajando.
Informe a Microsoft de este problema.
Se ha creado un informe…..
Código:
'Se ha presionado una tecla
Private Sub DGPro_KeyDown(KeyCode As Integer, Shift As Integer)
'Si se ha pulsado INTRO
If KeyCode = 13 Then
If bOtraForm = False Then
CmdUpd_Click
Else
DGPro.Refresh
bOtraForm = False
TBcCodPro = DGPro.Columns(0)
TBcNomPro = DGPro.Columns(1)
CmdClose.SetFocus
CmdClose_Click
End If
'Si se ha pulsado la tecla INSERT
ElseIf KeyCode = 45 Then
CmdAdd_Click
'Si se ha pulsado la tecla SUPRIMIR
ElseIf KeyCode = 46 Then
CmdDel_Click
'Si se ha pulsado la ecla ESCAPE
ElseIf KeyCode = 27 Then
CmdClose.SetFocus
CmdClose_Click
Else
DGPro.SetFocus
End If
End Sub
He sustituido el procedimiento:
Private Sub DGPro_KeyDown(KeyCode As Integer, Shift As Integer)
Por este otro con el mismo código interior y ya no me da error ni al pulsar INTRO para pasar a dos variables tipo TextBox dos valores de dos campos del DataGrid al otro formulario, ni al salir con ESC:
Private Sub DGPro_KeyPress(KeyAscii As Integer)
¿Me podéis esplicar porqué?
P.D.- El CmdClose.SetFocus delante de CmdClose_Click, si lo quito me sale una ventanita diciendo: La fila actual no está disponible (Aceptar).
Saludos cordiales.
Con las teclas INTRO y ESCAPE en el evento del DataGrid DGPro_KeyDown, me da error,
al llegar al End Sub (detectado paso a paso), saliendo la siguiente ventana titulada “Visual Basic”, diciendo:
Visual Basic ha detectado un problema y debe cerrarse.
Si está en pleno proceso, puede perderse la información con la que esté trabajando.
Informe a Microsoft de este problema.
Se ha creado un informe…..
Código:
'Se ha presionado una tecla
Private Sub DGPro_KeyDown(KeyCode As Integer, Shift As Integer)
'Si se ha pulsado INTRO
If KeyCode = 13 Then
If bOtraForm = False Then
CmdUpd_Click
Else
DGPro.Refresh
bOtraForm = False
TBcCodPro = DGPro.Columns(0)
TBcNomPro = DGPro.Columns(1)
CmdClose.SetFocus
CmdClose_Click
End If
'Si se ha pulsado la tecla INSERT
ElseIf KeyCode = 45 Then
CmdAdd_Click
'Si se ha pulsado la tecla SUPRIMIR
ElseIf KeyCode = 46 Then
CmdDel_Click
'Si se ha pulsado la ecla ESCAPE
ElseIf KeyCode = 27 Then
CmdClose.SetFocus
CmdClose_Click
Else
DGPro.SetFocus
End If
End Sub
He sustituido el procedimiento:
Private Sub DGPro_KeyDown(KeyCode As Integer, Shift As Integer)
Por este otro con el mismo código interior y ya no me da error ni al pulsar INTRO para pasar a dos variables tipo TextBox dos valores de dos campos del DataGrid al otro formulario, ni al salir con ESC:
Private Sub DGPro_KeyPress(KeyAscii As Integer)
¿Me podéis esplicar porqué?
P.D.- El CmdClose.SetFocus delante de CmdClose_Click, si lo quito me sale una ventanita diciendo: La fila actual no está disponible (Aceptar).
Saludos cordiales.
Valora esta pregunta


0