PESQUISA MDB DE DUPLICIDADE EM MDB

USUARIO.EXCLUIDOS 04/01/2005 11:33:28
#58466
Ola bom dia a todos gostaria de saber como faco uma consulta em uma tabela do access onde este um campo por exeplo rg onde nao que que este possa ser incluido 2 vezes com mesmo valor???
qualquer ajuda de codigo sera muito bem vinda
USUARIO.EXCLUIDOS 04/01/2005 12:06:14
#58477
Resposta escolhida
Você deseja evitar duplicidade? ou quer recuperar os registros duplicados? po quer que apareça apenas um de cada?

USUARIO.EXCLUIDOS 04/01/2005 12:15:31
#58479
nao nao,eh o seguinte
tenho um equipamento que faz leitura de numero de rg dai ele salva em um banco de dados na tabela clientes ,estou fazendo um fechamento do dia....entao quero evitar que um determinado cliente possa ser cadastrado 2 x....ou seja tenho que fazer uma pesquisa na tabela toda para ver se ele existe se sim entao msgbox cliente existente se nao salva novo cliente...porem nao sei como fazer esta funcao.
Se puder me ajudar!!!
VB6MASTER 04/01/2005 12:16:45
#58480
Acredito que o q vc quer fazer, dependerá de uma pesquisa prévia. Tipo, se o nº do rg estiver cadastrado, é sinal que o cliente já possui cadastro. é isso?
Se for, vc deve fazer uma consulta prévia ao BD, se existir, recuperar os dados, se não, cadastrar (gravar no BD).
USUARIO.EXCLUIDOS 04/01/2005 12:25:37
#58482
sim mas veja bem,quem os coloca no bd eh o scanner entao ele apenas inclui os registros afinal as imagens sao nomeadas diferentemente porem quero fazer ele evitar de colocar registros duplo....imagine que o operador seja uma pessoa desligada e passe o rg por 2 x...dai ele ira gerar 2 imagens com nome diferentes porem o numero do rg esta sendo o mesmo....mas ate ai tudo bem...o meu problema eh que quando vou encerrar o dia por exemploquero fazer uma consulta de consistencia de dados onde nela quero identificar este problema de duplicacao e excluir caso sim...mas dai eh outra historia excluir eu sei so nao consigo imaginar parametros para esta comparacao do meu recorset.
USUARIO.EXCLUIDOS 04/01/2005 12:35:09
#58485
Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("C:    este,mdb")
If RegistroExiste(db, "Cadastro", "RG", "123456789") Then
MsgBox "RG já existe"
Exit Sub
End If
Set rs = db.OpenRecordset("Cadastro")
rs.AddNew
rs!RG = "123456789"
rs.Update
End Sub

Function RegistroExiste(Banco As DAO.Database, Tabela As String, Campo As String, Valor As Variant) As Boolean
Dim sql As String
Dim rs As Recordset
sql = "select " & Campo & " from " & Tabela & " where " & Campo & " = "
If TypeName(Valor) = "String" Then
sql = sql & "'" & Valor & "'"
Else
sql = sql & Valor
End If
Set rs = Banco.OpenRecordset(sql)
RegistroExiste = (rs.RecordCount > 0)
End Function
USUARIO.EXCLUIDOS 04/01/2005 12:38:34
#58487
não tem como fazer uma pesquisa do rg com o scanner antes de inserir o novo registro no BD??
seuado.recordsource = "select * from suatabela where rg like 'numerorg'"
seuado.refresh
if seuado.recordset.eof = false and seuado.recordset.bof = false then
if msgbox("rg já cadastrado incluir outro", vbyesno") = vbyes then seuado.recordset.addnew
end if
USUARIO.EXCLUIDOS 04/01/2005 13:19:12
#58495
beleza acho que ja ajuda!!valeu pessoal
Tópico encerrado , respostas não são mais permitidas