Access - Se ha producido el error ‘2115’ en tiempo de ejecución

 
Vista:
sin imagen de perfil

Se ha producido el error ‘2115’ en tiempo de ejecución

Publicado por AbInfra (20 intervenciones) el 13/03/2013 20:45:36
Hola a todos.

En VB6 al dar de alta un código, si ya existía aparecían los datos y un mensaje diciendo que ya existía y a continuación dejaba los TexBox en blanco, sin datos, así:

Private Sub cArticulo_Validate(Cancel As Boolean)
…..
If Not rsNueva.EOF Then
….
MsgBox "Error. Como se observa, el Código del artículo introducido ya existe.", vbCritical
cArticulo.Text = ""
cFamilia.Text = ""
cConcepto.Text = ""
Cancel = True
…..
End If
End Sub



Si hago algo similar en VBA, pero sustituyendo _Validate por _ BeforeUpdate, me da el siguiente error después del MsgBox, o sea en cArticulo.Text:
Se ha producido el error ‘2115’ en tiempo de ejecución:
La macro o función establecida para la propiedad ReglaDeValidación o antesDeActualizar de este campo impide que “NombreAplicación” guarde los datos del campo
”.

Me podéis explicar a qué se debe y como solucionarlo.
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

Se ha producido el error ‘2115’ en tiempo de ejecución

Publicado por AbInfra (20 intervenciones) el 13/03/2013 21:05:56
Ya está solucionado.

He sustituido _BeforeUpdate por _Exit
Y he cambiado .Text por .Value, de o contrario me daba otro error.

Saludos cordiales.
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

Se ha producido el error ‘2115’ en tiempo de ejecución

Publicado por DANI Lopez (1 intervención) el 26/07/2019 10:38:54
EL problema viene al estar en el BEFORE_UPDATE me salia el mismo error y ni con DoCmd.RunCommand acCmdSaveRecord
ni con el:
1
2
3
If Me.Dirty Then
''                Me.Dirty = False
''            End If

LA SOLUCION FUE poner el execute update en el AFTERUPDATE en vez de en el BEFORE_UPDATE

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 23
Ha disminuido su posición en 44 puestos en Access (en relación al último mes)
Gráfica de Access

Se ha producido el error ‘2115’ en tiempo de ejecución

Publicado por claudio (15 intervenciones) el 07/06/2020 23:30:45
A mi me daba este mismo error con un código que tenía en el evento before_updte. Lo cambié al after_update y ya me funciona sin problemas.

En mi caso estaba validando el nuevo valor de un campo, y si no pasaba la validación daba un error por msgbox y lo volvía al valor antiguo con .oldvalue.
Supongo que si esto lo haces antes de actualizar aún no dio tiempo a que cambie el valor y por eso no funcionaba.

No sé mucho de vba por eso no estoy seguro de mi explicación. Lo expongo aquí por si alguien le sirve de ayuda.

Un saludo.
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