** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Alcance sobre "Doble Ingreso de Registro"
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAlcance sobre "Doble Ingreso de Registro"

 Responder Responder
Autor
Mensaje
Javier_Flores Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Agosto/2006
Localización: Chile
Estado: Sin conexión
Puntos: 89
Enlace directo a este mensaje Tema: Alcance sobre "Doble Ingreso de Registro"
    Enviado: 11/Octubre/2018 a las 14:09
mensaje original:

******************************
Mihura Ver desplegable 

Administrador 
Administrador 
Avatar 

Unido: 06/Mayo/2005 
Localización: España 
Estado: Sin conexión 
Puntos: 10346
Enlace directo a este mensaje Enviado: 05/Octubre/2018 a las 23:23
Ahora ya me he perdido ...

A mi, esto:         (=SiInm(EsNulo(DMáx("[N_GPS]","[GPS]")+1),'1',DMáx("[N_GPS]","[GPS]")+1))

me suena a falso autonumérico LOL


Una manera de salvarlo es que cuando entres en el registro lo crees realmente, con lo que el otro usuario tendrá un número distinto, claro que esto tiene el problema de los registros que se creen en blanco porque entran y vuelven a salir.

Otra forma es no crear número hasta justo el momento de guardar el registro.

Pero de todas formas yo usaría un contador propio:


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
******************************

Don Jesús, esta nota es para darle las gracias e indicar que tenia razón respecto a su recomendación de estudiar y leer el link que me dejo.

Ahora le comento, lo que hice:
cree Tabla TContadores
acomodé los campos que necesitaba
el código modificado quedó de la siguiente manera:
**********************************************************************
'---------------------------------------------------------------------------------------------
' Autor : JESUS MANSILLA CASTELLS -Mihura-
'---------------------------------------------------------------------------------------------

Public Function RT_Modulo_Contadores(codigo As String, Numero As Variant) As Long

Dim i As Double, Mitabla As DAO.Recordset
Set Mitabla = CurrentDb.OpenRecordset("SELECT * FROM [TContadores] WHERE Codigo_con = '" & codigo & "'")
If Mitabla.RecordCount = 0 Then
         MsgBox "Error tabla contadores. Codigo : " & codigo, vbCritical, "TECSYS"
         RT_Modulo_Contadores = 0
     Else
         On Error GoTo Error_rut
         Mitabla.LockEdits = True
         Mitabla.Edit
         Mitabla("Valor_con") = Mitabla("Valor_con") + 1
         Numero = Mitabla("Valor_con")
         Mitabla.Update
         RT_Modulo_Contadores = Mitabla("Valor_con")
End If
Mitabla.Close
Exit Function

Error_rut:
For i = 1 To 50000: Next
Resume
Return

End Function
**********************************************************************
En el formulario principal, un campo que recibe el enfoque (gotfocus), "gatilla" la ejecución de este modulo, con la siguiente instrucción:
************************************************
Private Sub N_GPS_GotFocus()
Me.N_GPS.Value = RT_Modulo_Contadores("gps_n", 0)

End Sub
************************************************

En conclusión, genial su recomendación, solo quería agradecer su gentil y desinteresada ayuda


Javier Flores

Un Saludo desde Coquimbo, IV Region, Chile
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable