Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error '-2147217887 (80040e21)'.

Estas en el tema de Error '-2147217887 (80040e21)'. en el foro de Visual Basic clásico en Foros del Web. Hola a todos. Estoy utilizando ADO con Access y me surge un problema con este tipo de error. Cuando abro una nueva ficha, me sale ...
  #1 (permalink)  
Antiguo 01/09/2007, 07:40
 
Fecha de Ingreso: agosto-2007
Mensajes: 17
Antigüedad: 16 años, 9 meses
Puntos: 0
Error '-2147217887 (80040e21)'.

Hola a todos.
Estoy utilizando ADO con Access y me surge un problema con este tipo de error.
Cuando abro una nueva ficha, me sale este error si dejo algún dato en blanco.
Cómo puedo hacer para que me salga p.e. un MsgBox indicándome que el campo no puede tener longitud cero y no me salga este mensaje de error?
un saludo y gracias.
Edrec
  #2 (permalink)  
Antiguo 19/09/2007, 22:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Error '-2147217887 (80040e21)'.

capturando el error checa el control de errores en vb
  #3 (permalink)  
Antiguo 20/09/2007, 03:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Re: Error '-2147217887 (80040e21)'.

Hola

No se exactamente cuando se te genera el error, pero por ejemplo, si antes de guardar, tienes que poner en ese botón un if para ver si la caja de texto está rellenada. P.e. en el evento click del botón guardar

Código:
if text1.text = "" then
   Msgbox "Tienes que introducir el dato"
else
   Realizas la inserción de datos
end if
Este es un ejemplo muy sencillo, pero puedes comprobar todas las cajas de texto que desees.

Espero que esto sea lo que buscabas.

--Saludos--
  #4 (permalink)  
Antiguo 20/09/2007, 16:24
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: Error '-2147217887 (80040e21)'.

Si trabajs con access (VBA), es mejor uasr el evento before update del cuadro de texto, te permite cancelar la salida del control si no se cumplen las consiciones deseadas.

Private Sub NombreControl_BeforeUpdate(Cancel As Integer)
If Nz(Me.NombreControl.Value, "") = "" Then
Cancel = True
End If
End Sub

En lugar de la propiedad text, en VBA es mejor uasr la funcion value, ya que esta no te solicita que el control tenga el foco (aunque en este caso lo tendra, te servira para otros casos). La funcion nz te permite controlar los campos nulos y los vacios a la vez.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:34.