Validación de registros no duplicados

Como hacer para validar el número de un registro de manera no se repita en una tabla?
He probado la siguiente expresión:

COUNT(SELECT(Registro[Id Registro],AND([N°Registro]=[_THISROW].[N°Registro],[Id Registro]<>[_Thisrow].[Id Registro])))=0

Esto impide que se repitan los registros y a su vez permite editarlos. Sin embargo yo necesito que cada validación sea aplicable a cada usuario ya que si un usuario agrega un registro con número {01} y otro usuario también lo hace podría saltar error. La idea es que el número no sea repetible pero para cada usuario,

Desde ya agradezco sus respuestas, que tengan buen día.

Solved Solved
0 2 3,257
1 ACCEPTED SOLUTION

Agradezco mucho tu respuesta, pero ya tiene un uniqueid() sin embargo yo quiero generar nombre único y numeración que no se repita en una tabla pero que esto no se cumpla para toda la tabla sino para cada usuario. Acabo de conseguirlo Expongo mi Solución para que la use otro. Saludos Gracias

(COUNT(
SELECT(
Registros[Id Registro],AND(
[Usuario que lo agrega]=useremail(),[Registro]=[_THISROW].[Registro],[Id Registro]<>[_Thisrow].[Id Registro]
)
)
)=0
)

Lo que hago con esto es, por ejemplo, crear una tabla donde un “user1@e-mail.com” agregue un registro que dentro de todos sus registros no sean repetidos pero, sin embargo, si un “user2@e-mail.com” agrega el mismo nombre de registro no será error ya que la función solo verifica que el usuario que ha iniciado sesión no escriba registros con nombres repetidos.

Nuevamente agradezco la respuesta

El El dom, 16 ene. 2022 a la(s) 15:56, KJ Seddik via AppSheet Creator Community <appsheet@discoursemail.com> escribió:

View solution in original post

2 REPLIES 2

Hola Gustavo,

Tienes que marcar la columna N°Registro como Key, y AppSheet se encargará automáticamente de esta verificación y el mensaje de error en su caso.

También, es siempre mejor generar las claves de manera automática y no dejarlas a los usuarios.

Te animo a leer estas guías:

Agradezco mucho tu respuesta, pero ya tiene un uniqueid() sin embargo yo quiero generar nombre único y numeración que no se repita en una tabla pero que esto no se cumpla para toda la tabla sino para cada usuario. Acabo de conseguirlo Expongo mi Solución para que la use otro. Saludos Gracias

(COUNT(
SELECT(
Registros[Id Registro],AND(
[Usuario que lo agrega]=useremail(),[Registro]=[_THISROW].[Registro],[Id Registro]<>[_Thisrow].[Id Registro]
)
)
)=0
)

Lo que hago con esto es, por ejemplo, crear una tabla donde un “user1@e-mail.com” agregue un registro que dentro de todos sus registros no sean repetidos pero, sin embargo, si un “user2@e-mail.com” agrega el mismo nombre de registro no será error ya que la función solo verifica que el usuario que ha iniciado sesión no escriba registros con nombres repetidos.

Nuevamente agradezco la respuesta

El El dom, 16 ene. 2022 a la(s) 15:56, KJ Seddik via AppSheet Creator Community <appsheet@discoursemail.com> escribió:

Top Labels in this Space