Access - problema urgente

 
Vista:

problema urgente

Publicado por manuel (51 intervenciones) el 19/08/2008 22:41:36
hola a todos resulta que tengo el siguiente dilema partiendo de capturar el error 3022 actualizar la clave esto en un subform vinculado al form principal como veran logro grabar en la tabla mas no puedo hacer que el formulario se refresque con el nuevo registro usando "Me.[permisos subformulario].Form.RecordSource = "select * from permisos where id=" & ID & " and Format(FECDOC,'yyyymm')=" & Me.Parent.SEL " lo que me da errores .... por favor agradeceria cualquier ayuda que me puedan dar

Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim rw As DAO.Recordset
If DataErr = 3022 Then
Response = acDataErrAdded 'acDataErrContinue
Set rw = CurrentDb.OpenRecordset("permisos", dbOpenDynaset)
rw.AddNew
rw!TIPDOC = Me.TIPDOC
rw!NUMDOC = Contador.Counter
rw!ID = Me.ID
rw!FECDOC = Me.FECDOC
rw!HORINI = Me.HORINI
rw!HORFIN = Me.HORFIN
rw!STATUS = Me.STATUS
rw!AUDITOR = CurrentUser() & " " & Mid(Usuario, 1, Len(Usuario) - 1) & " " & Ordenador & " " & Now()
rw.Update
rw.Close
Set rw = Nothing
Me.[permisos subformulario].Form.RecordSource = "select * from permisos where id=" & ID & " and Format(FECDOC,'yyyymm')=" & Me.Parent.SEL
End If
End Sub
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:problema urgente

Publicado por mi menda (1111 intervenciones) el 20/08/2008 03:17:45
Hola manuel:
Sí el error se produce en el subformulario, prueba con:
Me.Requery

y sí el error se produce en el form principal:

Me.[permisos subformulario].Form.Requery

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

RE:para mi menda

Publicado por manuel (51 intervenciones) el 20/08/2008 17:08:55
hola y gracias por atenderme ... te dire que he probado con ambos y no resulta me da error 2115 la macro o funcion establecida para la propiedad regla de validacion o antes de actualizar para este campo impide que se guarde los datos en el campo.... no se que campo ... si tuvieras otra sugerencia
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:problema urgente

Publicado por mi menda (1111 intervenciones) el 20/08/2008 18:31:06
Hola Manuel:
Ahora que veo cual es el error 3022, te diré que no te lo puedes saltar, sí tienes definido un campo como indice único o clave principal, no te permitirá duplicar el valor, pues para eso se definieron esos campos, para ser únicos.
Como veo que es un formulario relacionado con un subformulario, quizas te hayas equivocado al establecer la relación, y en vez de hacer la relación de uno a varios, la hayas hecho de uno a uno.
Fijate en la tabla de la que depende el subformulario, y en el campo por el que relaciones con la otra tabla esta establecida la propiedad Indexado a Sí(sín duplicados) - relación uno a uno-, sí es así cambiala a Sí(con duplicados)-relación uno a varios-

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

RE:problema urgente

Publicado por MANUEL (51 intervenciones) el 20/08/2008 19:49:45
ok... e seguido tus indicaciones y todo esta correcto pero no logro que en el evento error en el cual trato el problema ya que no puedo capturarlo en el eventon beforeupdate y me da el error 2115 ... te vuelvo a aclarar los campos vinculados del form y subform estan correctos la relacion de tablas correcto ... te contare que el me.requery lo probe en el evento beforeupdate y funciona pero en el evento error no ..... acaso no funciona en dicho evento

saludos

Manuel
Lima Peru
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:problema urgente

Publicado por mi menda (1111 intervenciones) el 21/08/2008 02:54:09
Hola Manuel:
Como te comente anteriormente, no te puedes saltar el error mediante el tratamiento de errores.
El error que te da, es porque tratas de meter un valor duplicado.
Me explico, si tienes por ejemplo el campo nombre como clave principal o índice único y ya tienes el valor "JUAN", sí tratas de meter otra v ez ese valor en otro registro te dará error, y también puede ser por que infringes alguna regla de validación que hayas establecido.
La única solución es averiguar de esas posibilidades de donde proviene el error, y entonces hacer los cambios necesarios, pero insisto en que no te lo puedes saltar mediante el tratamiento de errores, pues el error se seguirá produciendo.

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