Bom dia pessoal, Criei um módulo que sorteia peças de diferentes classes de acordo com a quantidade de cada classe que eu escolho. Ele só volta a sortear uma mesma peça quando todas da mesma classe já foram sorteadas, porém me surgiu o seguinte problema: Eu possuo 105 peças de classe B fiz 2 sorteios de 44 peças aleatórias, no terceiro como acabaram as peças ele iria repetir as que ja foram sorteadas anteriormente o problema é que ele esta repetindo peças que já constam nesse mesmo sorteio. Por exemplo no sorteio numero 3 ele sorteia 16 peças que nunca foram sorteadas antes, então ele recomeça o sorteio e repete uma dessas 16. Alguém sabe algum tipo de trava ou de chave primaria para ele não repetir uma mesma peça em um mesmo sorteio ?
Agradeço desde já.
Agradeço desde já.
- Código:
'Sorteio B
I = 0
Do While I < QtdeB
If (DLookup("Count(ID)", "TB_SORTEADOS", "TABELA = 'B' AND COD_RODADA=" & CodRodadaAtualB) = totItensB) Then
CodRodadaAtualB = CodRodadaAtualB + 1
End If
item_aux = DLookup("ID_ITEM", "B", "ID = " & Int(Rnd * totItensB + 1)) 'Busca novo item aleatoriamente
If (IsNull(DLookup("ID", "TB_SORTEADOS", "ID_ITEM = '" & item_aux & "' AND COD_RODADA=" & CodRodadaAtualB))) Then
cod_item_aux = DLookup("ABC", "B", "ID_ITEM = '" & item_aux & "'")
DoCmd.RunSQL "INSERT INTO " & _
"TB_SORTEADOS(COD_RODADA, COD_SORTEIO, TABELA, DATA, ID_ITEM, COD_ITEM) VALUES (" & _
CodRodadaAtualB & ", " & _
CodSorteioAtual & ", " & _
"'A', " & _
"'" & DtAtual & "', " & _
"'" & item_aux & "', " & _
"'" & cod_item_aux & "'" & _
")"
I = I + 1
End If
Loop