Galera, vamos l´, vou ver se consigo explicar
Eu tenho um formulário de analise que puxa os dados de uma tabela. Existem atualmente 2 pessoas fazendo estas analises.
Gostaria que as mesmas não pegassem o mesmo registro, fiz um campo chamado [Em Analise] do tipo Número como 0
Quando uma pessoa recebe o registro ele marca para -1. No código ele verifica antes se for -1 ele pula para o próximo até achar o 0.
O sistema funciona em partes, o que eu reparei foi, se eles clicam juntos em salvar, parece que não da tempo do sistema fazer toda consulta e atualizar até que o outro também faça.
Se eles clicam quase juntos em salvar acabam pegando o mesmo registro, se não clicam juntos não pegam o mesmo registro
Segue o código no clicar no botão salvar...
Dim resultado As VbMsgBoxResult, cont As Integer, resp As String, db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("002 - Registros 001")
rs.MoveFirst
cont = 1
Do Until rs![Em Analise] = 0
rs.MoveNext
cont = cont + 1
Loop
rs.Edit
rs![Em Analise] = -1
rs.Update
DoCmd.GoToRecord acDataForm, "Form Analise Contrato", acGoTo, cont
Deu para entender?
Eu tenho um formulário de analise que puxa os dados de uma tabela. Existem atualmente 2 pessoas fazendo estas analises.
Gostaria que as mesmas não pegassem o mesmo registro, fiz um campo chamado [Em Analise] do tipo Número como 0
Quando uma pessoa recebe o registro ele marca para -1. No código ele verifica antes se for -1 ele pula para o próximo até achar o 0.
O sistema funciona em partes, o que eu reparei foi, se eles clicam juntos em salvar, parece que não da tempo do sistema fazer toda consulta e atualizar até que o outro também faça.
Se eles clicam quase juntos em salvar acabam pegando o mesmo registro, se não clicam juntos não pegam o mesmo registro
Segue o código no clicar no botão salvar...
Dim resultado As VbMsgBoxResult, cont As Integer, resp As String, db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("002 - Registros 001")
rs.MoveFirst
cont = 1
Do Until rs![Em Analise] = 0
rs.MoveNext
cont = cont + 1
Loop
rs.Edit
rs![Em Analise] = -1
rs.Update
DoCmd.GoToRecord acDataForm, "Form Analise Contrato", acGoTo, cont
Deu para entender?