Bom dia!
Pessoal estou com o seguinte problema:
Tenho duas listagem de materiais sendo que uma é de materiais pendentes para contar e outra de materiais que estão sendo contados. Quando o material é enviado de uma lista para outra o status é alterado de Pendente para Contando.
O meu problema é o seguinte, quando envio o material da lista de Pendente para a lista de Contando não consigo "travar com erro" o material ou seja, posso ficar enviando um material que já está sendo contado varias vezem pra mesma lista que ele já se encontra,
quero que ele não adicione pois ele já se encontra na lista!
O código que estou usando é esse:
Private Sub btn_contar_Click()
On Error GoTo erro
1: 'variaveis
Dim bd As DAO.Database
Dim wm As DAO.Recordset
Dim pen As DAO.Recordset
Dim i As Variant
Dim SQL As String
Dim edit As Boolean
Set bd = CurrentDb
SQL = "SELECT bd_contagem.Indice, bd_contagem.Material, bd_contagem.Linha, bd_contagem.Status, bd_contagem.Controlador, bd_contagem.Tipo FROM bd_contagem;"
Set wm = bd.OpenRecordset(SQL, dbOpenDynaset)
Set pen = bd.OpenRecordset("bd_contagem", dbOpenDynaset)
edit = False
2: '&&&&&&&&&&& Verifica se foram selecionado lotes em sequencia &&&&&&&&&
For Each i In lista_contar.ItemsSelected
If Len(lista_contar.Column(5, i)) = "Contando" Then
MsgBox "Este material já está sendo contado!", vbInformation, "Ação Cancelada!"
GoTo sair
End If
With pen
.FindFirst "[indice] = " & lista_contar.Column(0, i)
If .NoMatch Then
MsgBox "Erro ao selecionar o item! Talvez o item já tenha sido contado!" & vbCrLf & "Atualize a tela!", vbExclamation, "Atenção"
GoTo sair
Else
edit = True
.edit
.Fields("status") = "Contando"
.Fields("Fechado_Por") = Me.box_logado
.update
End If
End With
Next
3: 'finaliza
If edit = True Then
MsgBox "Iten(s) adicionado(s) a lista de contagem com êxito!", vbInformation, "Aviso"
Else
MsgBox "Não foi possível adicionar o(s) iten(s) a lista", vbInformation, "Aviso"
End If
bd.Close
Me.lista_contando.Requery
Me.lista_contar.Requery
sair:
Exit Sub
erro:
GeraLog "CONTAR", "btn_contar_Click()", Erl
End Sub

Desde já agradeço!