Access - para enrique

 
Vista:

para enrique

Publicado por manuel (51 intervenciones) el 23/07/2008 18:37:25
Hola enrique .. te escribo pidiendo me ayudes con este dilema ...ya antes has colaborado conmigo y te pido nuevamente lo hogas ... esto es parte de un codigo tuyo que encontre y lo amolde a mi necesida ... te dire que esto es para un modulo de emision entre varias estaciones el error que me ocurre es el 2046 y me quedo ahi no pudiendo superarlo
Espero tus gratas noticias

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo NroExiste
If IsNull(HORINI) Or IsNull(STATUS) Then
MsgBox "Ingrese datos requeridos ...!", vbExclamation + vbOKOnly, Caption
Cancel = -1
ElseIf Me.NewRecord Then
' If Nz(DLookup("NUMDOC", "PERMISOS", "NUMDOC =" & DMax("numdoc", "permisos") + 1), 0) = 0 Then
NUMDOC = DMax("numdoc", "permisos") + 1
AUDITOR = CurrentUser() & " " & Mid(Usuario, 1, Len(Usuario) - 1) & " " & Ordenador & " " & Now()
DoCmd.RunCommand acCmdSaveRecord
Me.Parent.NUMERO = NUMDOC
Me.Parent.STAT = STATUS
' End If
End If
Exit Sub

NroExiste:

If Err.Number = 3022 Or Err.Number = 2115 Then
NUMDOC = DMax("numdoc", "permisos") + 2
DoCmd.RunCommand acCmdSaveRecord
Else
Resume Next
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:para enrique

Publicado por Enrique (1299 intervenciones) el 23/07/2008 20:13:22
Hola Manuel:
Tendrás que refrescarme la memoria pués ahora mismo no recuerdo nada de este código, ni cuando lo puse en el Foro, ni para qué sirve.

Además hay algunos "detalles" dentro de este código que pones, que sin duda no son mios. Indícame también en que parte del código se para la ejecución y te marca el error 2046.

Un saludo
Enrique
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 enrique

Publicado por manuel (51 intervenciones) el 23/07/2008 20:58:43
ok... bueno el error 2046 "la accion o comando al guardar no esta disponible ahora" ocurre cuando intento grabar el numero +2 y esto es cuando dos usuarios generar el numero al mismo tiempo.
Y como te decia anteriormente lo e personalizado con datos que necestio registrar.
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 enrique

Publicado por Enrique (1299 intervenciones) el 23/07/2008 21:33:13
Hola Manuel:
Ya recuerdo el tema, fué hace unos diez meses y por eso antes no me acordaba.

Creo que deberías de volver a leer el hilo desde el principio hasta el final, que comenzó el día 06/09/2007 de título "Problema al compartir" a pregunta del compañero kikemata, porque me parece que no lo estás aplicando correctamente.

Un saludo
Enrique
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 enrique

Publicado por manuel (51 intervenciones) el 23/07/2008 22:11:23
ok... e vuelto a revisar lo inidicado... te comento que en este caso yo saco el nuero de registro al final de completar los datos no antes por eso es que uso +1 en el me.newrocord y mas +2 en el error te pido lo analices bien y podras entender el proposito
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 enrique

Publicado por Ismael (38 intervenciones) el 23/07/2008 22:51:11
Entonces tal vez te conviene poner la instruccion bajo el procedimiento AFTERUPDATE del ultimo campo a llenar, asi el procedimiento correra cuando el ultimo campo del registro sea actualizado, no antes.
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 enrique

Publicado por manuel (51 intervenciones) el 23/07/2008 23:02:13
Hola Ismael y gracias por tus aportes... bueno no se podria y digo asi porque el campo numero es key de la tabla y en evento afterupdate me daria error poque no acepta null vez ... por eso es que se corre en beforeupdate para asi completar todos los campos del registro a actualizar....
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