Access - Campo autonumérico compartido

   
Vista:

Campo autonumérico compartido

Publicado por ALFREDO (2 intervenciones) el 13/01/2014 15:21:52
Hola a todos! tengo una base compartida con varias tablas vinculadas; la base de datos registra personas para un empadronamiento. Lo que quiero que haga mi base es generar un número consecutivo que no se repita para otorgar a cada persona registrada un número que correspondería a un turno único y según el turno en otro cuadro de texto le correspondería una fecha determinada, así por ejemplo; viene una persona le corresponde el Turno N° 1 debe presentarse el dia 20/02/2014. Todo esto en una base compartida con 10 usuarios cargando al mismo tiempo . He descartado por completo el campo autonumérico. He probado hacer los siguiente:
He creado un campo Turno( donde va el turno) y un campo presentación(donde va la fecha). Turno es Sin duplicados.
Al cargar el formulario he colocado:

1
2
3
4
5
6
7
8
9
10
11
12
13
On Error GoTo err_Form_Current
If [Turno] < 1 Then
[Turno] = DMax("Turno", "PreInscripción") + 1
End If
exit_Form_Current:
Exit Sub
err_Form_Current:
If Err = 94 Then
Resume Next
Else
MsgBox Error$
Resume exit_Form_Current
End If

funciona perfecto al correrlo en una base pero al compartirla si bien registra consecutivamente tiende a repetirlo generando un duplicado no dejando guardar el registro. Desde ya muchísimas gracias anticipadas por la ayuda.
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

Campo autonumérico compartido

Publicado por Lucas Felipe (59 intervenciones) el 13/01/2014 17:16:16
Hola, yo debí hacer lo mismo para una app, es de facturas el formato es "VTA-#-Año" ej: VTA-1-14 ;he aqui como lo hice:

1
2
3
4
5
6
Dim MaxNum As Byte
MaxNum = Nz(DMax("vta_num", "vta", "id_vta like('VTA-*-' & Year(Date()) - 2000)"), 0) + 1 ' Aqui verifico el consecutivo maximo para este año
DoCmd.RunSQL "INSERT INTO vta (vta_num,id_vta,id_user_fk) VALUES (" & _
MaxNum & ",'" & "VTA-" & MaxNum & "-" & (Year(Date) - 2000) & "',Forms!z_inicio!id_user)"
Form.Requery
Tag = Mensaje("crear", True)
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

Campo autonumérico compartido

Publicado por ALFREDO (2 intervenciones) el 15/01/2014 14:23:54
Gracias por la respuesta Lucas y disculpá la demora en la respuesta, muy interesante el código pero el problema es que en mi caso lo hace perfecto, cuenta, pero creo que le estoy errando en alguna instancia de actualización en la tabla y he probado con .Requery para que me actualice la información de la tabla pero nada. De todas formas muy amable por compartir tu saber. Gracias!
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