Convém Salientar.. que minha tabela.. usa A ID como Prontuário do Detento, ou seja.. A ID = Prontuário de Cada pessoa.. Número Fixo que marca este registro..
O que ocorre é que as vezes por erro do Usuário, se inutiliza alguns numeros.. Então temos
01
02
...
05
06 = Ficando inutilizado os'números 03 e 04 etc...
O Amigo criquio havia me passado um código que funciona caso os numeros fosse subsequente mas por este motivo não o é..
Então preciso de ideias e sugestões de como fazer isso... Posto aqui o código que faço a pesquisa por uma combo...
Grato desde Já...
- Código:
Private Sub CboVisitante_AfterUpdate()
On Error GoTo TrataErro
Me.CboDetento.Value = "" 'Limpa a CboDetento para que se tiver valor e escolher outro visitante, fique limpa
Me.IDVisitante = Me.CboVisitante.Column(1)
Me.txtIDDetento = Me.CboVisitante.Column(2)
Me.CboDetento.Enabled = False
Me.CboDetento.Locked = True
Me.TxtDetento.Visible = True
Me.TxtDetento.Locked = True
Me.TxtDetento.Enabled = False
If IsNull(Me.IDVisitante) Or Me.IDVisitante = "" Then
MsgBox "Você não digitou um número para ser pesquisado.", vbOKOnly + vbCritical, "Atenção"
Me.IDVisitante = Null
Exit Sub
ElseIf Not IsNumeric(Me.IDVisitante) Then
MsgBox "O texto inserido foi """ & Me.IDVisitante & """. Isso não é um código válido.", vbOKOnly + vbCritical, "Atenção"
Me.IDVisitante = Null
Exit Sub
End If
Dim db As DAO.Database
Dim ws As DAO.Workspace
Dim rs, rs1 As DAO.Recordset
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(CurrentProject.Path & "\Syspen_Be.accdb", False, False, "MS Access;PWD=senha")
strSQLVisitantes = "SELECT * FROM Visitantes WHERE IDVisitante = " & Me!IDVisitante & ";"
strSQLDetentos = "SELECT * FROM Detentos WHERE ID = " & Me!txtIDDetento & ";"
Set rs = db.OpenRecordset(strSQLVisitantes)
Set rs1 = db.OpenRecordset(strSQLDetentos)
Me.txtVisitante = rs![Visitante]
Me.txtEndereco = rs![Endereço]
Me.txtBairro = rs![Bairro]
Me.txtEstado = rs![Estado]
Me.txtCidade = rs![Cidade]
Me.txtDocumentos = rs![RG/CPF]
Me.TxtTelResidencial = rs![Telefone Residencial]
'Me.TxtDetento = rs1![Nome]
Me.TxtDetento = rs1![Nome] & Space(1) & rs1![Sobrenome]
Me.txtAla = rs1![Nível]
Me.txtCela = rs1![Cela]
Me.txtAnot = rs![Anotações]
Me.txtRelacao = rs![Relação de Tutor]
Me.txtSelecao = rs![BloquearVisitante]
Me.CaminhoFotoRosto = rs![CaminhoFoto]
Me.CaminhoDigital = rs![CaminhoDigital]
PreencheFoto
rs.Close
Set rs = Nothing
Set db = Nothing
TrataErro:
If err.Number = 2113 Then
MsgBox "O código """ & Me.IDVisitante & """ não existe na base de dados", vbOKOnly + vbCritical, "Atenção"
Me.IDVisitante = Null
Else
Resume Next
End If
End Sub